我正在浏览Instagram的所有端点api:https://instagram.com/developer/endpoints/#
获得authrization标记后,我可以执行所有操作:例如/ change relationship / view user detais ...
但是,我发现Android上的某些应用程序具有以下额外功能:查看谁阻止了当前登录的用户。关于API没有提及,当我尝试查询用户的详细信息时,而不是显示is_private / blocked_you我获得的是:
{
"error_type": "APINotAllowedError",
"code": 400,
"error_message": "you cannot view this resource"
}
这是有道理的,因为用户被阻止了,不应该返回任何信息。但在这种情况下,其他应用程序如何得到这个"用户阻止了你"信息?
答案 0 :(得分:1)
我可能错了,但如果Instagram的API像Facebook一样工作,我可以考虑这个想法。
您有API可以找到自己与用户的关系。
https://api.instagram.com/v1/users/{user-id}/relationship?
access_token=ACCESS-TOKEN
{
"meta": {
"code": 200
},
"data": {
"outgoing_status": "none",
"incoming_status": "requested_by"
}
}
使用以下术语表达关系:
outgoing_status:您与用户的关系。可以“跟随”, “请求”,“无”。 incoming_status:用户与您的关系。 可以是“follow_by”,“requested_by”,“blocked_by_you”,“none”。
这意味着您找不到阻止您的用户,但您可以找到被您阻止的用户。从这个角度来看,如果您将所有用户令牌存储在您自己的数据库中,您可以编写简单的代码,以使用此令牌的用户身份登录,并检查与数据库中其他用户的关系。结果您可以保存到自己的数据库,使用它,并进行更新,比如说,任何X天,周......
请注意,仅当您使用Instagram的OAuth API将用户登录到您自己的服务时,此功能才有效。是的,这是一种非常缓慢的方法。