这是我的范围:
$required_scope = 'public_profile, publish_actions, email, read_stream, manage_pages, user_birthday, user_likes';
这是登录部分:
require_once __DIR__ . "/fb/autoload.php"; //include autoload from SDK folder
//import required class to the current scope
use Facebook\FacebookSession;
use Facebook\FacebookRequest;
use Facebook\GraphUser;
use Facebook\FacebookRedirectLoginHelper;
FacebookSession::setDefaultApplication($app_id , $app_secret);
$helper = new FacebookRedirectLoginHelper($redirect_url);
$login_url = $helper->getLoginUrl( array( 'scope' => $required_scope ) );
这是我得到一些结果时的代码:
$user_profile = (new FacebookRequest($session, 'GET', '/me'))->execute()->getGraphObject(GraphUser::className());
echo "<pre>"; var_dump($user_profile); echo "</pre>";
我的代码运行正常。我收到有关我个人资料的信息。这是var_dump:
的结果 ["favorite_athletes"]=>
array(9) {
[0]=>
object(stdClass)#9 (2) {
["id"]=>
string(15) "184161078291195"
["name"]=>
string(15) "Adriana Nechita"
}
[1]=>
object(stdClass)#10 (2) {
["id"]=>
string(15) "745037222223542"
["name"]=>
string(13) "Simona Halep"
}
[2]=>
object(stdClass)#11 (2) {
["id"]=>
string(16) "1429782880606166"
["name"]=>
string(18) "Iasmin Latovlevici"
}
....... until 8
[8]
}
["favorite_teams"]=>
array(6) {
[0]=>
object(stdClass)#18 (2) {
["id"]=>
string(15) "822633781141031"
["name"]=>
string(18) "FC Bayern München"
}
[1]=>
object(stdClass)#19 (2) {
["id"]=>
string(15) "361595103896895"
["name"]=>
string(16) "Football legends"
}
[2]=>
object(stdClass)#20 (2) {
["id"]=>
string(11) "86037497258"
["name"]=>
string(21) "Chelsea Football Club"
}
.......
我真的不明白为什么var_dump会向我展示我最喜欢的运动员和团队。我喜欢facebook上的很多东西。为什么它会告诉我其中的2个?另一个问题:其余的在哪里?我最喜欢的博客,新闻,品牌在哪里?
答案 0 :(得分:1)
我在代码中的任何地方都没有看到它,所以我假设您没有使用正确的端点来获取喜欢的内容:
/me/likes
API参考:https://developers.facebook.com/docs/graph-api/reference/user/likes
如果所有相关内容都没有显示,您可能需要实现分页才能获得下一批:https://developers.facebook.com/docs/graph-api/using-graph-api/v2.3#paging
...因为Facebook限制结果数量,默认值为25.不确定为什么你得到24,也许你正在查看数组ID而不是数量(0-24> 25)。
您还可以增加限制:
/me/likes?limit=100
答案 1 :(得分:0)
如果这是您的帐户,请检查您有任何喜欢的博客,新闻,品牌,因为您应该在您的fb帐户中有一些东西,然后只会返回给您。 用于检查使用facebook图谱API。
https://developers.facebook.com/tools/explorer/145634995501895/