我在这里阅读了很多关于此的教程/文章/问题,并尝试在fb文档中找到有用的东西。
到目前为止,我自己没有取得任何进展,所以任何输入都会受到高度赞赏,我只是想尝试访问我的照片列表,但我得到的只是一个空数组。
我知道我添加了比我需要的更多req_perms,我只是复制了那些对我来说不起作用的“工作教程”,并且在阅读了一个帖子之后我还添加了user_photo_video_tags因为这对于该线程有效海报(再次,不是我)。
我已经通过对话框允许照片与我的应用共享我的照片,登录工作没有任何问题,我获得的访问令牌似乎是正确的,登录后我访问过:
https://graph.facebook.com/me/photos?access_token=和令牌,并得到一个空数组,如果我没有登录或access_token没有链接到我的应用程序会有一些错误,但我得到的是一个空数组。
提前感谢任何输入。
感谢Chaney Blu,我能够验证我的权限:
{
"data": [
{
"installed": 1,
"status_update": 1,
"photo_upload": 1,
"video_upload": 1,
"create_note": 1,
"share_item": 1,
"publish_stream": 1
}
]
}
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
require_once 'library/facebook.php';
$app_id = "xxxxxxxxxxxxxxxx";
$app_secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxx";
$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
'cookie' => true
));
$loginLink = $facebook->getLoginUrl(array(
'scope' => 'user_status,publish_stream,user_photos,user_photo_video_tags'
));
$logOutLink = $facebook->getLogoutUrl();
$user = $facebook->getUser();
if ($user) {
try {
// User logged in, get token
$token = $facebook->getAccessToken();
//var_dump($token); dumped successfully
// Get public profile info
$user_profile = $facebook->api('/me');
//var_dump($user_profile); dumped successfully
$photos = $facebook->api('/me/photos?access_token=' . $token);
var_dump($photos); // Empty array, BAH!
} catch (FacebookApiException $e) {
$user = null;
}
}
?>
<a href="<?php echo $loginLink; ?>">Click here to login if you aren't autoredirected</a><br /><br /><br />
<a href="<?php echo $loginLink; ?>">Click here to logout</a>
答案 0 :(得分:3)
不确定这是否是问题,但试试这个。看来你正在使用最新的PHP SDK。在你的getLoginUrl();调用,尝试将'req_perms'更改为'scope'。
像这样:
$loginLink = $facebook->getLoginUrl(array(
'scope' => 'user_status,publish_stream,user_photos,user_photo_video_tags'
));
您可以访问https://graph.facebook.com/me/permissions/?access_token=XXXX
来验证您是否授权了正确的权限答案 1 :(得分:2)
在测试了一些其他权限后,我注意到Facebook没有更新我的令牌的权限,即使退出应用程序,再次登录并接受新权限时,我看到我从Chaney获得的Graph权限链接时没有任何变化蓝光。
我使用该链接验证来自facebooks graph api page http://developers.facebook.com/docs/reference/api/的令牌,并注意到令牌可以访问user_photos但不能访问我的令牌。
进入我的脸书设置并删除应用程序,Facebook下次登录应用时更新了我的权限。
感谢Chaney Blu让我走上正轨。如果我有名声,会投票给你。