Facebook FQL-请求此资源需要用户访问令牌


Facebook FQL - A user access token is required to request this resource

几天来,我一直有一个特定的FQL调用问题,希望有人能给我指明正确的方向,是的,我们正在请求正确的权限。

使用PHP SDK,使以下FQL多查询工作

$user_fql = urlencode("SELECT uid, first_name, middle_name, last_name, name, birthday_date, hometown_location, current_location, education, religion, political, interests, work FROM user WHERE uid = me()");
$friend_count_fql = urlencode("SELECT friend_count FROM user WHERE uid = me()");
$multiquery = json_encode(array("user" => $user_fql, "friend_count" => $friend_count_fql));
$user = $facebook->api("/fql?q=".$multiquery."&access_token=".$access_token."&format=json-strings");

然而,当进行此FQL调用时

$friends_fql = urlencode("SELECT uid, first_name, middle_name, last_name FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) LIMIT 10");
$friends = $facebook->api("/fql?q=".$friends_fql."&access_token=".$access_token."&format=json-strings");

引发以下错误

{"error":{"message":"A user access token is required to request this resource.","type":"OAuthException","code":102}}

以及我们要求的权限

create_note email, friends_birthday, friends_education_history, friends_groups 
friends_hometown, friends_interests, friends_likes, friends_location, 
friends_relationships, friends_religion_politics, friends_work_history, photo_upload, 
publish_actions, publish_stream, read_stream share_item status_update user_birthday 
user_education_history, user_hometown, user_likes user_location, user_religion_politics, 
user_work_history, video_upload

我不明白为什么获取用户的朋友信息会引发OAuthException,因为在将其推送到远程服务器之前,这是在本地工作的,而且我正在测试的用户访问令牌对应用程序有效,尚未过期。任何建议都将不胜感激!

我建议使用你的uid而不是me(),因为我猜当你离开本地环境时,facebook没有正确地获取me()。

我刚刚在我的图形api浏览器上尝试了你的调用,没有遇到任何问题,因为你没有得到权限错误,这一定是facebook不知道谁是"我()"。

仔细检查您是否已在工作环境中登录到facebook/尝试使用uid运行呼叫。