【问题标题】:facebook app: getting scores from friendsfacebook 应用程序:从朋友那里获取分数
【发布时间】:2012-10-30 16:09:22
【问题描述】:

这是我的第一篇文章,我快崩溃了!我已经尝试解决这个问题了 2 天,但我不确定我做错了什么,而且我在任何地方都找不到答案。

我正在编写一个 Facebook 游戏,并希望为其用户存储“分数”。有点简单,我想。为此,我有两个用户帐户正在播放该应用程序。到目前为止,我能够获取和发布登录用户的分数。但是我找不到获取他朋友分数的方法。在 Facebook 开发描述中,它声明(“uid/scores”)请求应该返回来自用户及其朋友的分数,但它没有。还尝试“friend-ID/scores”以及“friend-ID?field=scores”不会返回任何内容:

{
  "data": [
  ]
}

我尝试了几乎所有应用权限组合,在 Graph-API-explorer 中使用 app_token 和 access_token 请求、user-id 和 app-id 的狂野组合四处寻找,但没有任何结果。返回的数据始终为空。

我做错了什么?我的应用程序需要什么权限才能获取我的朋友对我的应用程序(游戏)的分数?是因为游戏仍在开发中/尚未获批吗?我必须发送什么图形命令?有没有人成功获得朋友分数?

提前致谢! :-)

【问题讨论】:

  • 你得到friends_games_activity的许可了吗?
  • 是的,我做了,但没用。有趣的小故事:在一个许可/令牌组合中,它实际上给了我朋友的分数,但只是为了一个游戏(“RUBY BLAST”)......这不是我的游戏应用程序,也不是很接近如何我朋友正在使用的许多游戏应用程序。因此,如果有的话,应该列出更多的游戏,但它只是那个。此外,在 facebook-dev 描述中,它指出如果我想查看所有游戏用户都在得分,则只需要“friends_games_activity”......但应用程序调用应该以任何一种方式列出。但是,是的,我试过了:-/
  • friends_games_activity 权限在哪里?我找不到这个权限。你能帮帮我吗?

标签: facebook-graph-api


【解决方案1】:

https://developers.facebook.com/docs/reference/api/user/ 的文档指出,实际上 /scores 会返回用户的分数,假设他们授予您 user_games_activity 权限。

您只需要一个用户访问令牌,它应该返回如下内容:

{
  "data": [
    {
      "user": {
        "name": "James Pearce", 
        "id": "738229837"
      }, 
      "score": 20, 
      "application": {
        "name": "Bubble Safari", 
        "namespace": "bubblesafari", 
        "id": "164731003644283"
      }
    },
    ...

它本身不会返回用户朋友的分数:要获得它,您需要单独调用 /[friend_id]/scores(假设第一个用户已授予您friends_games_activity)。

假设您拥有正确的权限(使用 /me/permissions 检查),一个空数组意味着朋友要么没有分数,要么选择不分享。

即使使用应用访问令牌,也无法检索应用所有用户的分数列表。

【讨论】:

  • 我不会尝试为所有用户获取分数,只是朋友......开始时只有一个朋友。我试过/[friend_id]/scores,很多次!但是什么都没有回来。调用/me/permissions(使用两个用户令牌)我得到:“已安装”:1,“read_stream”:1,“publish_actions”:1,“user_status”:1,“user_games_activity”:1,“friends_status”:1 , "friends_games_activity": 1 ...所以感觉有足够的权限来要求用户得分。但是这样做时我会得到空白数据。当打电话给我/分数时,它实际上为我的用户显示了正确的评分数据。但它不会显示给朋友。我错过了什么?
  • 也许该朋友有他们的设置,因此这些数据不会与朋友(您当前的用户)正在使用的应用程序共享。
【解决方案2】:

您可以向"APP_ID/scores"发出请求,返回当前用户的分数和他朋友的分数

(result:, [data: (
        {
        application =         {
            id = APP_ID;
            name = APP_NAME;
            namespace = APP_NAMESPACE;
        };
        score = 639;
        user =         {
            id = USERID of user A;
            name = "User A";
        };
    },
        {
        application =         {
            id = APP_ID;
            name = APP_NAME;
            namespace = APP_NAMESPACE;
        };
        score = 205;
        user =         {
            id = USERID of user B;
            name = "User B";
        };
    },
        {
        application =         {
            id = APP_ID;
            name = APP_NAME;
            namespace = APP_NAMESPACE;
        };
        score = 100;
        user =         {
            id = USERID of user C;
            name = "User C";
        };
    }
)])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多