我使用的是图形api。
我有一个登录的用户,并想要得到的所有页面的页面ids列表,该用户是管理员。
有没有办法做到这一点?文档非常糟糕--而且是循环的。
发布于 2010-06-04 18:07:43
我用一些FQL解决了这个问题:
FB.api({method: 'fql.multiquery',
access_token: <access_token>,
queries: {
query1: 'select page_id from page_admin where uid = ' + <uid>,
query2: 'select page_id, name, page_url from page where page_id in (select page_id from #query1)'
}
}, function(queries){
var pages = queries[1].fql_result_set;
}}发布于 2010-11-19 06:31:54
如果你不想使用FQL,你可以调用FB.api(/me/accounts)。
“‘accounts”是User对象的连接。请参阅此@ http://developers.facebook.com/docs/reference/api/user的文档
当然,对于Facebook来说,总会有一个陷阱。现在,这个方法不仅会返回用户所管理的页面,还会返回他们安装的应用程序。我几乎可以肯定这不是我想要的行为--我似乎记得几个月前我使用过它,结果只得到了一个页面列表。文档也没有提到这个列表中的应用程序。
这是一个很容易解决的问题- Facebook返回列表中每一项的名称、类别和id,并且每个应用程序都有一个“应用程序”类别。我只是简单地确保我只列出类别不是“应用”的项目。
发布于 2012-07-17 17:00:34
您可以在登录时使用JavaScript SDK请求权限
FB.login(function(){}, {perms:'manage_pages'});然后,一旦他们登录,你就可以检索页面(和应用程序),如下所示:
FB.api('/me/accounts', function(response){
console.log(response);
})https://stackoverflow.com/questions/2966015
复制相似问题