我希望能够从用户拥有的朋友列表中获取基本信息(与端点/用户/@我相同)。
我知道如何获取用户的好友列表,结果如下:
{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"
}
}看起来有些端点可以用friend-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问题:有问题的朋友是否必须允许我的应用程序查询他们的信息(任何端点)?
建议:如果可能的话,至少可以访问基本信息端点来显示用户朋友的信息,即使他们不允许我的应用程序,那就太好了。
感谢您的反馈。
发布于 2016-10-26 04:22:48
为了查看朋友的用户信息,该朋友还必须通过您的应用程序的OAuth流。这是一个要求,因为每个UP用户都必须授予您的应用程序查看特定类型数据的权限。
此外,您传递给端点的用户xid必须与您为端点接收的访问令牌匹配。如果它们不匹配,那么在大多数情况下,您将收到401响应。
在您没有收到401的情况下,您很可能只会收到一个包含空数据的响应。如果收到非空响应,则应忽略该数据,因为不能保证数据是准确的。事实上,如果您正在为一个用户获取数据,而不是通过您的OAuth流,那么查看这些实例将是非常好的。请将详细信息发送到apisupport@jawbone.com。
https://stackoverflow.com/questions/39814074
复制相似问题