0

我希望能够从用户拥有的朋友列表中获取基本信息(与端点 /users/@me 相同)。

我知道如何获取用户的好友列表,结果如下:

{u'data': {u'items': [{u'xid': u'YRGHdmSbTA-ogFiDDnb-Mg'},
                      {u'xid': u'YRGHdmSbTA-1BMiQ65YBrg'},
                      {u'xid': u'YRGHdmSbTA-a4b-G83CeRw'}],
           u'size': 3},
     u'meta': {u'code': 200,
           u'message': u'OK',
           u'time': 1475342269,
           u'user_xid': u'YRGHdmSbTA_U2wilrqpF_Q'}}

所以我知道具有 xid-YRGHdmSbTA_U2wilrqpF_Q 的帐户有 3 个具有自己 xid 的朋友。

但是每当我试图根据他们的 XID 获取朋友的用户信息时,我无权这样做:

{
    "data": {},
    "meta": {
        "code": 401,
        "error_detail": "Only the owner of this resource is authorized to make this request.",
        "error_type": "authorization_error",
        "message": "Unauthorized",
        "time": 1475382850,
        "user_xid": "YRGHdmSbTA_U2wilrqpF_Q"
    }
}

似乎某些端点可以使用朋友 xid 进行查询,但其他一些端点则不行,这是我得到的列表(如果有任何问题,请纠正我)我正在使用的用户端点:

OK https://jawbone.com/nudge/api/v.1.1/users/{friend_xid}/bandevents
OK https://jawbone.com/nudge/api/v.1.1/users/{friend_xid}/body_events
OK https://jawbone.com/nudge/api/v.1.1/users/{friend_xid}/trends

authorization_error https://jawbone.com/nudge/api/v.1.1/users/{friend_xid}
authorization_error https://jawbone.com/nudge/api/v.1.1/users/{friend_xid}/friends
authorization_error https://jawbone.com/nudge/api/v.1.1/users/{friend_xid}/generic_event
authorization_error https://jawbone.com/nudge/api/v.1.1/users/{friend_xid}/goal
authorization_error https://jawbone.com/nudge/api/v.1.1/users/{friend_xid}/heartrat
authorization_error https://jawbone.com/nudge/api/v.1.1/users/{friend_xid}/meal
authorization_error https://jawbone.com/nudge/api/v.1.1/users/{friend_xid}/mood
authorization_error https://jawbone.com/nudge/api/v.1.1/users/{friend_xid}/move
authorization_error https://jawbone.com/nudge/api/v.1.1/users/{friend_xid}/setting
authorization_error https://jawbone.com/nudge/api/v.1.1/users/{friend_xid}/sleep
authorization_error https://jawbone.com/nudge/api/v.1.1/users/{friend_xid}/timezone

问题:有问题的朋友是否必须允许我的应用程序查询他们的信息(任何端点)?

建议:如果可能的话,至少可以访问基本信息端点以显示用户朋友的信息,即使他们不允许我的应用程序也是如此。

感谢您的反馈意见。

4

1 回答 1

0

为了查看朋友的用户信息,该朋友还必须通过您的应用程序的 OAuth 流程。这是一项要求,因为每个 UP 用户都必须授予您的应用查看某些类型数据的权限。

此外,您传递给端点的用户 xid 必须与您收到的端点访问令牌相匹配。如果这些不匹配,那么在大多数情况下,您将收到 401 响应。

在您没有收到 401 的情况下,您很可能只会收到包含空数据的响应。如果您收到非空响应,则应忽略该数据,因为不能保证它是准确的。事实上,如果您有实例为未通过 OAuth 流程的用户获取数据,那么查看这些数据会很棒。请将详细信息发送至 apisupport@jawbone.com。

于 2016-10-25T20:22:47.847 回答