Facebook Graph API getAccessToken () не работает - PullRequest
2 голосов
/ 07 августа 2011

Я работал над Graph API в течение последних нескольких дней. Когда я пытаюсь сделать вызов API, используя PHP-SDK, в ответ я получаю пустой объект json. Но когда я копирую токен доступа по ссылкам, предоставленным FB в http://developers.facebook.com/docs/reference/api/,, я получаю ответ json.

Я предполагаю, что это из-за токена доступа, который я отправляю в запросе. Помощь оценена.

Мой код:

include_once "fbInit.php";
$access = $facebook->getAccessToken();
$user = $facebook->getUser();
echo $access;
if(!$user)
{
$loginUrl = $facebook->getLoginUrl();
header("Location:".$loginUrl);
}
$userWall = $facebook->api('/me/feed',array('access_token'=>$access))   ;
var_dump($userWall);

Ответы [ 3 ]

1 голос
/ 26 июня 2012

Это работает для меня:

index.php

<?php
    require_once("./config.php");
    $me = $facebook->api('/me');
    $access_token = $facebook->getAccessToken();
    $user = $facebook->getUser();
    $userWall = $facebook->api('/me/feed',array('access_token'=>$access_token));
    var_dump($userWall);
?>

config.php

<?php
    require_once("facebook.php");

    $app_id = "app_id";
    $app_secret = "app_secret";

    $facebook = new Facebook(array(
        'appId' => $app_id,
        'secret' => $app_secret,
        'cookie' => true
    ));

    if(is_null($facebook->getUser()))
    {
        header("Location:{$facebook->getLoginUrl(array('req_perms' => 'user_status,publish_stream,user_photos'))}");
        exit;
    }
?>
1 голос
/ 13 сентября 2011

getAccessToken () возвращает только внутренне сохраненный токен доступа в SDK, он не генерирует и не извлекает его.Одним из преимуществ использования SDK является то, что вам не нужно передавать токен доступа напрямую, как это делается в конце вашего примера.Когда пользователь щелкает ссылку, сгенерированную getLoginUrl (), токен доступа автоматически сохраняется в SDK, и метод api будет работать.Однако для публикации на стене пользователя требуется больше параметров, чем вы передаете.Вы можете увидеть полный пример того, как это сделать, в недавно выпущенных документах PHP SDK по адресу https://developers.intern.facebook.com/docs/reference/php/facebook-api/

0 голосов
/ 03 октября 2011

API предполагает получить токен доступа для вас - он формирует api графа access_token в строке base_facebook.php 664. К сожалению, этот вызов API может быть неудачным из-за вашего URI перенаправления - некоторые упоминали, что у вас не должно быть "?"в вашем перенаправлении URI и в моем случае - есть хвост "/", который вызвал этот вызов не удалось.И у того же перенаправления uri не возникло проблем, если вы перенаправляете вызов через "https://graph.facebook.com/oauth/access_token?".

. Попытайтесь поместить журнал, чтобы распечатать результат ответа от facebook в функции _graph () в base_facebook.php, который поможет вам быстро определить, ударил ли васпо той же проблеме, что и я.

...