Вызов API Graph Facebook успешно возвращает информацию о моем пользователе, но не мои альбомы? - PullRequest
0 голосов
/ 24 мая 2011

Вопрос: это мой мозг? Или бешеный API Facebook?

Намерение : Вернуть информацию об альбоме в Facebook и информацию о пользователе

результат: пустой набор данных для информации об альбоме, полный результат для информации о пользователе

{
   "data": [

   ]
}


<?php
/****************************************************************************
Application settings
****************************************************************************/
$app_id = '123456';
$app_secret = "4543163864";
$my_url = "http://www.myurl.com/app";
$canvas_page = 'http://apps.facebook.com/my_canvas_page/';

# authorize the user using oauth protocol (including required permissions)
$auth_url = "http://www.facebook.com/dialog/oauth?client_id=" 
            . $app_id . "&redirect_uri=" . urlencode($canvas_page)."&scope=user_photos,friends_photos";

     $signed_request = $_REQUEST["signed_request"];
     list($encoded_sig, $payload) = explode('.', $signed_request, 2); 
     $fb_user_session = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);

    # if authorization failed, kick back to auth_url
    if (empty($fb_user_session["user_id"])) 
    {
        echo("<script> top.location.href='" . $auth_url . "'</script>");
    } 
    else 
    {
        /****************************************************************************
        User successfully logged in.
        ****************************************************************************/
        $my_albums = "https://graph.facebook.com/me/albums?access_token=".$fb_user_session['oauth_token'];
        $my_info = "https://graph.facebook.com/me?access_token=".$fb_user_session['oauth_token'];



        echo "<a href='$my_albums'>my album information</a><br>";
        echo "<a href='$my_info'>my user information</a>";

        ### ignore this, just testing iframe call ###
        exit;
        echo("<script> top.location.href='" . $my_albums . "'</script>");
    } 
?>

Дополнительная информация: Тестирование запроса «альбома» от http://developers.facebook.com/docs/reference/api/user/ при входе в систему работает! Он успешно возвращает всю информацию моего альбома. Но я заметил, что токен авторизации в тестовом URL-адресе отличается от моего полученного токена приложения ($ fb_user_session ['oauth_token']). Что здесь происходит?

Я пропустил какой-то шаг авторизации? Почему мое приложение возвращает пустые данные для моих альбомов, используя те же самые вызовы и токены, в то время как тестовый вызов Facebook возвращает полный набор? Если кто-то может помочь решить эту проблему раз и навсегда, это было бы здорово.

Есть идеи?

1 Ответ

1 голос
/ 24 мая 2011

Попробуйте добавить «user_photo_video_tags» в список запрошенных областей. Кроме того, попробуйте вызвать API-интерфейс permissions, чтобы убедиться, что у вас есть доступ к фотографиям пользователя, проверив разрешение «user_photos». URL-адрес: https://graph.facebook.com/me/permissions?access_token=...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...