我是Facebook的查询语言的新手,我目前在查询数据时遇到问题。我正在使用应用程序令牌来查询Facebook有关已授予该应用程序权限的用户的信息。以下是请求的权限,JavaScript实现和返回的输出(清理以覆盖个人信息):
权限:
user_about_me,user_activities,user_birthday,user_education_history,user_friends,user_hometown,user_interests,user_likes,user_location,user_photos,user_religion_politics,user_work_history,email,read_friendlists
JavaScript的:
FB.api(
{
access_token : accessToken,
method: 'fql.query',
query: 'SELECT uid, name, email, pic, about_me, activities, books, education, hometown_location, interests, movies, music, political, profile_blurb, religion, tv, work' +
' FROM user' +
' WHERE uid IN (' + tokens + ')'
},
function(response) {
alert(JSON.stringify(response));
}
);
输出:
[{
"uid": ID,
"name": NAME,
"email": EMAIL,
"pic": PIC,
"about_me": null,
"activities": "",
"books": "",
"education": [],
"hometown_location": null,
"interests": "",
"movies": "",
"music": "Disturbed, System of a Down, The Bouncing Souls",
"political": null,
"profile_blurb": null,
"religion": null,
"tv": "",
"work": []
}]
当我从我的站点运行查询或使用应用程序令牌通过Graph API Explorer返回此数据集。但是,当我使用带有访问令牌的Graph API Explorer时,我会收到更多信息(教育,家乡,宗教,政治,工作等)。
我的问题是我做错了什么或不能用应用令牌访问某些数据?文档(https://developers.facebook.com/docs/opengraph/using-actions/#appaccesstoken - 应用程序访问令牌的其他功能)让我相信我可以访问这些数据而不会看到应用程序被授予权限的方式。任何帮助将不胜感激。
答案 0 :(得分:1)
它明确地说there:
“虽然App Access Token主要是为了代表用户将信息发布回Facebook,但是有一组有限的信息可以使用App Access从Facebook检索令牌“。
- 用户的基本资料信息(ID,姓名,用户名,性别)
- 用户的朋友及其ID
- 用户授予您应用的权限
所以它显然表示你可以不访问使用 app 访问令牌可以访问的所有内容 app < / em>代替访问令牌。