Получение токена доступа на Facebook - PullRequest
0 голосов
/ 18 марта 2012

Я пытаюсь получить токен доступа моего приложения, используя Graph API, запрашивая следующую строку:

https://graph.facebook.com/oauth/authorize?type=user_agent&client_id=app_id&redirect_uri=canvas_page&scope=read_friendlists

Это перенаправляет на: canvas_page / # access_token = xxx & expires_in = 4124 & code = A ...

Но я не уверен, как я могу разобрать это с помощью PHP, так что в итоге я могу сделать запрос json, чтобы получить список друзей.

Надеюсь, ты сможешь направить меня:)

Спасибо

Ответы [ 3 ]

0 голосов
/ 18 марта 2012

Вы можете использовать следующий код ниже.Это сработало для меня.

Во-первых, вам нужно скачать Facebook SDK отсюда https://github.com/facebook/php-sdk

function facebook_oauth_init($facebook_app_id, $facebook_app_secret, $cookie = false)
{
    $facebook = new Facebook(array("appId" => $facebook_app_id, "secret" => $facebook_app_secret,
        "cookie" => $cookie));
    return $facebook;
}

$fb_app_id = "YOUR_APP_ID";
$fb_app_secret = "YOUR_APP_SECRET";
$fb_user_id = "YOUR_USER_ID";
$fb_access_token = "YOUR_GIVEN_ACCESS_TOKEN";

$facebook = facebook_oauth_init($fb_app_id, $fb_app_secret);
$accounts = $facebook->api('/' . $fb_user_id . '/accounts', 'get', array('access_token'=>$fb_access_token));
$accounts = $accounts['data'];

$access_token_2
foreach($accounts as $acc)
{
   if($fb_page_id == $acc['id'])
   {
       $access_token_2 = $acc['access_token'];
       break;
   }
}

"$ access_token_2" должно быть тем, что вы ищете.* Надеюсь, это поможет.

Мухаммед.

0 голосов
/ 18 марта 2012

Используя этот метод "api" (на php sdk), вам не нужно указывать токен доступа, он будет сгенерирован и установлен в объект Facebook.

В любом случае, вы можете использовать $ facebook-> getAccessToken ()

http://developers.facebook.com/docs/reference/php/facebook-getAccessToken/

0 голосов
/ 18 марта 2012

Вы используете Facebook PHP SDK? https://github.com/facebook/php-sdk

Вы можете использовать это так:

$facebook = new Facebook(array(
  'appId'  => 'your_app_id',
  'secret' => 'your_app_secret',
));

// Get User ID
$user = $facebook->getUser();


if ($user) {
  try {
    // Proceed knowing you have a logged in user who's authenticated.
    $user_profile = $facebook->api('/me');
 } catch (FacebookApiException $e) {
     error_log($e);
    $user = null;
  }
}

if ($user) {
  $logoutUrl = $facebook->getLogoutUrl();
} else {
  $loginUrl = $facebook->getLoginUrl();
}

Вы можете использовать $ loginUrl, чтобы создать ссылку, по которой пользователь должен щелкнуть, чтобы авторизовать ваше приложение, если они этого еще не сделали

Затем вы можете совершать звонки на график API следующим образом:

$friends = $facebook->api('/user_id/friends');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...