【问题标题】:Facebook api friends listFacebook api 好友列表
【发布时间】:2013-04-10 05:47:31
【问题描述】:

我正在使用 Facebook 的 javascript SDK 来检查在我的应用程序中注册的用户的好友列表。

我有这个电话:

     FB.getLoginStatus(function (response) {
        if (response.status == 'connected') {     
           FB.api('me/friends', { fields: 'id, first_name, picture', limit: 6 },function(response){
                  MY CODE TO VIEW FRIENDS PICTURE
           });
        }
        else{
                 CODE TO GET ACCESS_TOKEN
        }
  });

但在大多数情况下,我会收到这样的 api 错误:

response.error = {
message: unkown error,
code: undefined,
type: http,
subcode: undefined
}

我用我的帐户对其进行了测试,它工作正常,即使我将隐私权限更改为朋友的共享。

我的代码有问题吗?

【问题讨论】:

  • 您的 javascript 代码中有语法错误,并非所有括号都已关闭。

标签: facebook-graph-api facebook-javascript-sdk runtime-error client-side friend


【解决方案1】:
FB.api('me/friends', { fields: 'id, first_name,picture', limit: 6 },function(response){

    console.log(response);

  });

有关更多详细信息,请使用 Facebook 的图形 API 探索:Facebook Graph aPI

【讨论】:

  • 使用带有图片字段的 Graph api explorer (developers.facebook.com/tools/explorer) 我得到了正确的响应:developers.facebook.com/tools/… 所以我相信这不是问题。我的其他 API 也有同样的错误,比如我/权限
  • @AlessiaPileri,我想我有问题了,你在函数后面漏掉了一个右括号(响应,把那个括号放上来试试。
  • 是的,response 后面没有括号,但在我的脚本中是正确的!不幸的是,我的问题并不是那么简单:(
  • 嗨@AlessiaPileri,请更新您的原始代码,因为此代码有问题并且缺少一个括号和一个大括号。
  • @Mohammed Alghbari:我会试试你的解决方案,谢谢你的帮助!
【解决方案2】:

为什么不对 FB.api 使用 fql 查询?它提供了很好的控制。

以下 FQL 返回(用户 ID、名字和使用应用程序的朋友的照片)

FB.api(
         {
           method: 'fql.query',
           query: 'SELECT uid,first_name,pic FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) and is_app_user limit 6',
           access_token: token
         }

注意:你最好使用这个条件

if (response && response.authResponse) {

代替:

if (response.status == 'connected') {

问候,

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-10
    相关资源
    最近更新 更多