当前位置: 首页>>代码示例>>PHP>>正文


PHP Facebook::get方法代码示例

本文整理汇总了PHP中Facebook\Facebook::get方法的典型用法代码示例。如果您正苦于以下问题:PHP Facebook::get方法的具体用法?PHP Facebook::get怎么用?PHP Facebook::get使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Facebook\Facebook的用法示例。


在下文中一共展示了Facebook::get方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: getUserPagesFromRedirect

 public function getUserPagesFromRedirect()
 {
     $token = $this->getAccessTokenFromRedirect();
     try {
         $pages = $this->facebook->get('/me/accounts', $token)->getGraphEdge();
         return $pages;
     } catch (\Exception $e) {
         abort(500);
     }
 }
开发者ID:VickoFranic,项目名称:gigspy,代码行数:10,代码来源:FacebookHelper.php

示例2: getMe

 /**
  * Return info about facebook user
  * @param $fields
  * @return array
  * @throws Exception
  */
 public function getMe($fields)
 {
     $client = $this->fb->getOAuth2Client();
     $accessTokenObject = $this->helper->getAccessToken();
     if ($accessTokenObject == null) {
         throw new Exception("User not allowed permissions");
     }
     if ($fields == "" || !is_array($fields) || count($fields) == 0) {
         //array is empty
         $fields = array(ID);
         //set ID field
     }
     try {
         $accessToken = $client->getLongLivedAccessToken($accessTokenObject->getValue());
         $response = $this->fb->get("/me?fields=" . implode(",", $fields), $accessToken);
         $this->setSocialLoginCookie(self::SOCIAL_NAME);
         return $response->getDecodedBody();
     } catch (Facebook\Exceptions\FacebookResponseException $e) {
         // When Graph returns an error
         throw new Exception($e->getMessage());
     } catch (Facebook\Exceptions\FacebookSDKException $e) {
         // When validation fails or other local issues
         throw new Exception($e->getMessage());
     }
 }
开发者ID:venca-x,项目名称:social-login,代码行数:31,代码来源:FacebookLogin.php

示例3: authorize

 public function authorize()
 {
     try {
         $this->accessToken = $this->helper->getAccessToken();
     } catch (FacebookResponseException $e) {
         // When Graph returns an error
         throw new FacebookAuthenticationException('Graph returned an error: ' . $e->getMessage());
     } catch (FacebookSDKException $e) {
         // When validation fails or other local issues
         throw new FacebookAuthenticationException('Facebook SDK returned an error: ' . $e->getMessage());
     }
     if (!$this->accessToken) {
         throw new FacebookAuthenticationException('Access token not received. ' . $this->helper->getError(), $this->helper->getErrorCode());
     }
     try {
         // Returns a `Facebook\FacebookResponse` object
         $response = $this->facebook->get('/me?fields=id,name', $this->accessToken);
     } catch (FacebookResponseException $e) {
         throw new FacebookAuthenticationException('Graph returned an error: ' . $e->getMessage());
     } catch (FacebookSDKException $e) {
         throw new FacebookAuthenticationException('Facebook SDK returned an error: ' . $e->getMessage());
     }
     $fbUser = $response->getGraphUser();
     if (!($user = $this->doctrine->getRepository('QuizBundle:User')->findOneBySocialId($fbUser['id']))) {
         $user = (new Entity\User())->setAccessToken($this->accessToken)->setSocialType(Entity\User::FACEBOOK)->setSocialId($fbUser['id'])->setName($fbUser['name']);
         $manager = $this->doctrine->getManager();
         $manager->persist($user);
         $manager->flush();
     }
     $token = new SocialToken($user, $this->accessToken, 'facebook', [$this->adminId == $fbUser['id'] ? 'ROLE_ADMIN' : 'ROLE_USER']);
     $this->tokenStorage->setToken($token);
 }
开发者ID:dimak08,项目名称:quiz,代码行数:32,代码来源:FacebookService.php

示例4: checkGrantExtension

 /**
  * @see OAuth2\IOAuth2GrantExtension::checkGrantExtension
  */
 public function checkGrantExtension(IOAuth2Client $client, array $inputData, array $authHeaders)
 {
     if (!isset($inputData['facebook_access_token'])) {
         return false;
     }
     $this->facebookSdk->setDefaultAccessToken($inputData['facebook_access_token']);
     try {
         // Try to get the user with the facebook token from Open Graph
         $fbData = $this->facebookSdk->get('/me?fields=email,id,first_name,last_name,name,name_format');
         if (!$fbData instanceof \Facebook\FacebookResponse) {
             return false;
         }
         // Check if a user match in database with the facebook id
         $user = $this->userManager->findUserBy(['facebookId' => $fbData->getDecodedBody()['id']]);
         // If none found, try to match email
         if (null === $user && isset($fbData->getDecodedBody()['email'])) {
             $user = $this->userManager->findUserBy(['email' => $fbData->getDecodedBody()['email']]);
         }
         // If no user found, register a new user and grant token
         if (null === $user) {
             // TODO: Create new user
             return false;
         } else {
             // Else, return the access_token for the user
             // Associate user with facebookId
             $user->setFacebookId($fbData->getDecodedBody()['id']);
             $this->userManager->updateUser($user);
             return array('data' => $user);
         }
     } catch (\FacebookApiExceptionion $e) {
         return false;
     }
 }
开发者ID:eduardoledo,项目名称:schoolmanager,代码行数:36,代码来源:FacebookGrantExtension.php

示例5: getTokenInfo

 /**
  * @param string $token
  *
  * @return UserProfileInterface|null
  */
 protected function getTokenInfo($token)
 {
     try {
         // Get the Facebook\GraphNodes\GraphUser object for the current user.
         $response = $this->facebook->get('/me?fields=id,name,email,first_name,last_name', $token);
         $user = $response->getGraphUser();
         // check if we can get user identifier
         if (empty($user->getId())) {
             return null;
         }
         // do not accept tokens generated not for our application even if they are valid,
         // to protect against "man in the middle" attack
         $tokenMetadata = $this->facebook->getOAuth2Client()->debugToken($token);
         // this is not required, but lets be sure because facebook API changes very often
         $tokenMetadata->validateAppId($this->facebook->getApp()->getId());
         $userProfile = new UserProfile();
         $userProfile->setIdentifier($user->getId());
         $userProfile->setDisplayName($user->getName());
         $userProfile->setFirstName($user->getFirstName());
         $userProfile->setLastName($user->getLastName());
         $userProfile->setEmail($user->getEmail());
         // facebook doesn't allow login with not verified email
         if (!empty($user->getEmail())) {
             $userProfile->setEmailVerified(true);
         }
         return $userProfile;
     } catch (FacebookSDKException $e) {
         return null;
     }
 }
开发者ID:svycka,项目名称:social-user,代码行数:35,代码来源:Facebook.php

示例6: indexAction

 /**
  * Index action
  * Checks what needs to be done
  * Creating a new user or login
  */
 public function indexAction()
 {
     $facebookHelper = $this->facebook->getRedirectLoginHelper();
     try {
         $accessToken = $facebookHelper->getAccessToken();
         if (isset($accessToken)) {
             $facebookUser = $this->facebook->get('/me?fields=id,first_name,middle_name,last_name,email', $accessToken)->getGraphUser();
             $customer = $this->_getCustomer();
             $websiteId = Mage::app()->getWebsite()->getId();
             if ($websiteId) {
                 $customer->setWebsiteId($websiteId);
             }
             $customer->loadByEmail($facebookUser->getEmail());
             if ($customer->getId()) {
                 $this->_login($facebookUser, $customer);
             } else {
                 $this->_create($facebookUser, $customer);
             }
         } else {
             $this->_redirect('customer/account/login');
         }
     } catch (Exception $e) {
         $this->_redirect('customer/account/login');
     }
 }
开发者ID:Viktor-V,项目名称:MagentoFacebookLogin,代码行数:30,代码来源:AccountController.php

示例7: readStream

 /**
  * @inheritdoc
  */
 public function readStream()
 {
     $response = $this->facebook->get('/' . $this->page_id . '/posts?limit=' . $this->limit, $this->accesstoken);
     $posts = $response->getDecodedBody()['data'];
     $result = [];
     foreach ($posts as $post) {
         $result[] = new GenericPost(new \DateTime($post['created_time']), strstr($post['message'], "\n", true) ?: $post['message'], 'https://www.facebook.com/' . $post['id'], 'facebook');
     }
     return $result;
 }
开发者ID:bramtervoort,项目名称:social_feed,代码行数:13,代码来源:FacebookProvider.php

示例8: loadUserByUsername

 /**
  * {@inheritDoc}
  */
 public function loadUserByUsername($username)
 {
     try {
         $response = $this->facebook->get('/' . $username);
         return $response->getGraphNode(FacebookUser::class);
     } catch (FacebookResponseException $e) {
         $this->logger->info(sprintf('FacebookResponseException: %s', $e->getMessage()));
     } catch (FacebookSDKException $e) {
         $this->logger->warning(sprintf('FacebookSDKException: %s', $e->getMessage()));
     }
     throw new UsernameNotFoundException(sprintf('Username "%s" does not exist.', $username));
 }
开发者ID:otobank,项目名称:facebook-bundle,代码行数:15,代码来源:FacebookUserProvider.php

示例9: registerWithFacebook

 /**
  * Create a user account for the authenticated Facebook user.
  *
  * @return \Models\User
  * @throws \Facebook\Exceptions\FacebookSDKException
  * @throws \Facebook\Exceptions\FacebookSDKException
  * @throws \App\Exceptions\AccountDeactivatedException
  */
 public function registerWithFacebook()
 {
     // Load up the facebook sdk
     $fb = new Facebook(['app_id' => env('FACEBOOK_APP_ID'), 'app_secret' => env('FACEBOOK_APP_SECRET'), 'default_graph_version' => env('FACEBOOK_DEFAULT_GRAPH_VERSION')]);
     // Retrieve the access token
     $jsHelper = $fb->getJavaScriptHelper();
     $accessToken = $jsHelper->getAccessToken();
     if (!$accessToken) {
         throw new FacebookSDKException('The access token is invalid.');
     }
     // Get the profile info
     $profileResponse = $fb->get('/me', $accessToken);
     if ($profileResponse->getHttpStatusCode() != 200) {
         throw new FacebookSDKException('We could not retrieve your profile info.');
     }
     $profileInfo = $profileResponse->getGraphUser();
     // Check if the user is already registered
     $user = User::findBySocialAccountIdAndTypeId($profileInfo['id'], SocialAccountType::FACEBOOK);
     if ($user && !$user->active) {
         throw new AccountDeactivatedException();
     }
     // Create a new user account or update the existing one
     $user = $user ?: new User();
     $user->social_account_type_id = SocialAccountType::FACEBOOK;
     $user->social_account_id = $profileInfo['id'];
     $user->name = $profileInfo['name'];
     $user->email = isset($profileInfo['email']) ? $profileInfo['email'] : '';
     $user->location_name = isset($profileInfo['location']) ? $profileInfo['location']->getName() : '';
     $user->loggedin_at = date('Y-m-d H:i:s');
     $user->active = true;
     $user->save();
     return $user;
 }
开发者ID:slicvic,项目名称:wgg,代码行数:41,代码来源:Socializer.php

示例10: facebook

 public function facebook()
 {
     $fb = new Facebook\Facebook(['app_id' => '144053429274589', 'app_secret' => '4ef6916e238aff3b6726dac08b853135', 'default_graph_version' => 'v2.4', 'default_access_token' => 'CAACDBA17B90BAKI0aOXR1vF5zDtZCOKPbWSXopnvvNpBTHZARXVhUVrZBAXn4CB1ZBgsyk13ZA38uZAWoffwchukfajiIOG7cYrNEEAm0CdlHgwDRWeBuD0OZCfT6PB6U2vsE3O45jTgx0YTc24TXEqyZC1ZBIjc9GxD3aSv6WAyIWsZCpAcbnxYPNCdL389FxaRsZD']);
     try {
         $response = $fb->get('/me?fields=id,name,email');
     } catch (Facebook\Exceptions\FacebookResponseException $e) {
         echo 'Graph returned an error: ' . $e->getMessage();
         exit;
     } catch (Facebook\Exceptions\FacebookSDKException $e) {
         echo 'Facebook SDK returned an error: ' . $e->getMessage();
         exit;
     }
     $me = $response->getGraphUser();
     $name = $me['name'];
     $email = $me['email'];
     $u_name = preg_replace('/@.*$/', '', $me['email']);
     $user = new User();
     $user->name = $name;
     $user->type = 'general';
     $user->register_type = 'facebook';
     $user->username = $u_name;
     $user->email = $email;
     $user->password = bcrypt($u_name);
     $user->save();
     $lastInsertedId = $user->id;
     $profile = new Profile();
     $profile = $user->profile()->save($profile);
     $credentials = array('email' => $email, 'password' => $u_name);
     if (Auth::attempt($credentials)) {
         //return Redirect::to('home');
         return redirect()->intended('home');
     }
     //echo '<pre>'; print_r($new_name);
     //echo 'Logged in as ' . $me['email'];
 }
开发者ID:udayc,项目名称:travel,代码行数:35,代码来源:AccountController.php

示例11: retriveProfile

 /**
  */
 public function retriveProfile()
 {
     $this->logger->debug('retriveProfile ' . "/me?fields=id,name,email,gender");
     $response = $this->facebook->get("/me?fields=id,name,email,gender", $this->getAccessToken());
     $this->user = $response->getGraphUser();
     $userArray = json_decode($this->user->asJson(), true);
     $this->logger->debug(print_r($userArray, true));
     // remove location info if set.
     if (isset($userArray['location'])) {
         unset($userArray['location']);
     }
     $userArray['ip'] = '' . $this->get_ip_address();
     // upsert user
     $this->upsertUser($userArray);
     return $this->user;
 }
开发者ID:mattimatti,项目名称:fbconnectquiz,代码行数:18,代码来源:Connect.php

示例12: fbUserInfoAction

 public function fbUserInfoAction()
 {
     $fb = new Facebook(['app_id' => '1475718472749501', 'app_secret' => 'a67fee083c27186f52030ff3a72f24f9', 'default_graph_version' => 'v2.4']);
     try {
         $helper = $fb->getJavaScriptHelper();
         $accessToken = $helper->getAccessToken();
         $fb->setDefaultAccessToken((string) $accessToken);
         $response = $fb->get('/me?locale=en_US&fields=name,email');
         $userNode = $response->getGraphUser();
         $email = $userNode->getField('email');
         $name = $userNode->getField('name');
         $arr = explode("@", $email);
         $login = $arr[0];
         $arr2 = explode(" ", $name);
         $firstname = $arr2[0];
         $lastname = $arr2[1];
         return new JsonResponse(['firstname' => $firstname, 'lastname' => $lastname, 'login' => $login, 'email' => $email]);
     } catch (FacebookResponseException $e) {
         // When Graph returns an error
         echo 'Graph returned an error: ' . $e->getMessage();
         exit;
     } catch (FacebookSDKException $e) {
         // When validation fails or other local issues
         echo 'Facebook SDK returned an error: ' . $e->getMessage();
         exit;
     }
     exit;
 }
开发者ID:Aleksandr-Kachura,项目名称:public_html,代码行数:28,代码来源:LoginController.php

示例13: executeFacebookRequest

 /**
  * @param string $method
  * @param string $endpoint
  * @param array  $parameters
  * @param string $token
  *
  * @return \Facebook\FacebookResponse
  */
 private function executeFacebookRequest($method, $endpoint, array $parameters = [], $token = null)
 {
     if (is_callable($this->logCallback)) {
         //used only for debugging:
         call_user_func($this->logCallback, 'Facebook API request', func_get_args());
     }
     if (!$token) {
         $token = $this->appToken;
     }
     switch ($method) {
         case 'GET':
             $response = $this->fb->get($endpoint, $token);
             break;
         case 'POST':
             $response = $this->fb->post($endpoint, $parameters, $token);
             break;
         case 'DELETE':
             $response = $this->fb->delete($endpoint, $parameters, $token);
             break;
         default:
             throw new \Exception("Facebook driver exception, please add support for method: " . $method);
             break;
     }
     if (is_callable($this->logCallback)) {
         call_user_func($this->logCallback, 'Facebook API response', $response->getDecodedBody());
     }
     return $response;
 }
开发者ID:solutionDrive,项目名称:Codeception,代码行数:36,代码来源:Facebook.php

示例14: _getUsername

 /**
  * Get email address or name based on access token.
  *
  * @param AccessToken $accessToken
  *
  * @return mixed
  */
 protected function _getUsername($accessToken)
 {
     $oAuth2Client = $this->_facebook->getOAuth2Client();
     $tokenMetadata = $oAuth2Client->debugToken($accessToken);
     $user = $this->_facebook->get('/' . $tokenMetadata->getUserId() . '?fields=name,email', $accessToken)->getGraphUser();
     return $user->getField('email') !== null ? $user->getField('email') : $user->getField('name');
 }
开发者ID:ExpandOnline,项目名称:AuthManager,代码行数:14,代码来源:FacebookAdsAuthManager.php

示例15: requestTimelinePics

 /**
  * Get all images from the timeline picture album as an array with the fields "ID", "Name" and "Source".
  * @param int $limit
  * @return ArrayList
  */
 public function requestTimelinePics($limit = 100, $countLikes = false)
 {
     try {
         // Make the actual API request
         $response = $this->api->get('/' . $this->albumId . '/photos?fields=name,source,created_time&limit=' . $limit);
         // Get data of album
         $album = json_decode($response->getBody())->data;
         // Populate ArrayList
         $pA = ArrayList::create();
         $photo = array();
         foreach ($album as $picture) {
             $photo['ID'] = $picture->id;
             $photo['Source'] = $picture->source;
             $photo['Date'] = date('d-m-Y H:i', strtotime($picture->created_time));
             if (isset($picture->name)) {
                 $photo['Name'] = $this->makeLinks($picture->name);
             }
             // Count likes
             if ($countLikes) {
                 $photo['Likes'] = count(json_decode($this->api->get($picture->id . '/likes')->getBody())->data);
             }
             $pA->add($photo);
         }
         return $pA;
     } catch (FacebookSDKException $e) {
         user_error($e->getMessage());
     }
 }
开发者ID:helpfulrobot,项目名称:level51-silverstripe-fb-timeline-pics,代码行数:33,代码来源:FacebookAPI.php


注:本文中的Facebook\Facebook::get方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。