背景:
我想通过每天脚本搜索facebook并为他的名字报告任何新用户和页面来自动检查Facebook新诈骗的过程 . 我正在修改我多年前创建的旧FB应用程序来运行该过程 .
问题:
我注意到我可以使用我的应用程序在facebook的图形api上搜索"page",但是"user"回来了:“ Fatal error: Uncaught OAuthException: A user access token is required to request this resource. ”我认为这是一个权限错误所以我尝试将一个&Access_Token =和(https://developers.facebook.com/tools/explorer)的所有权限添加到URL没有运气 .
这是我的PHP脚本:
require '../src/facebook.php';<BR>
$facebook = new Facebook(array(
'appId' => '**I_removed_this_code**',
'secret' => '**I_removed_this_code**'));
$access_token = $facebook->getAccessToken();
$user = $facebook->getUser();
if ($user) {
try {
$user_profile = $facebook->api('/me');<BR>
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
$fb_response = $facebook->api('/search?q=**Public_Figure_Name**&type=page'); //<--change this to user and it doesnt work
print_r(array_values($fb_response));
2 回答
基本问题是,只有应用程序可以访问的用户才是应用程序的用户或(给予适当的朋友权限)应用程序用户的朋友 .
但是,如果您使用SSO令牌作为您,“您”将拥有用户令牌并可以进行图表搜索 .
PS . 我会添加这个作为评论,但我的代表不够高 .
如果我在Graph Explorer中尝试以下操作,它可以正常工作:
https://developers.facebook.com/tools/explorer?method=GET&path=search%3Fq%3DTom%2520Cruise%26type%3Duser&version=v2.2
Search API记录在https://developers.facebook.com/docs/graph-api/using-graph-api/v2.2#search,它描述了您的行为(页面和用户搜索之间的区别) .