Instagram客户端的身份验证使用Python



我目前正在开发一个瓶子项目,并将使用Instagram API。我希望使用客户端身份验证,但是我在访问令牌上遇到问题,因为它不会返回作为参数。

我在这里提出请求:

https://api.instagram.com/oauth/authorize/?client_id=client_id&redirect_uri = redirect_uri = riect_uri&armpsens_type_type =

该应用程序已正确地重定向到令牌页面,我甚至可以在URL中看到令牌。但是当我尝试解析它时,它会空无一人。

@route('/oauth_callback')
def success_message():
token = request.GET.get("access_token")
print token.values()
return "success"

token.values((返回一个空列表。

ps:请记住,当我尝试使用服务器端身份验证进行相同的操作时,我可以成功获取代码并将其换成令牌。

对Instagram API进行查询后,您必须在响应以下收到?

http://your-redirect-uri#access_token = access-token

之后的零件被称为 fragment ,而不是query_string参数,并且您无法在服务器中检索该信息在服务器中瓶子。

要真正获得片段,使用bottle.request.urlparts

urlparts

url字符串作为urlparse.splitresult元组。元组 包含(方案,主机,路径,QUERY_STRING和FRAGMENT(,但 片段总是空的,因为服务器不可见。

使用SDK,最好是服务器端操作 -> https://github.com/facebookarchive/python-instagram

如果您要采用这种方法,然后管理一个javaScript,该JavaScript解析访问权限,然后将其发布到您的瓶子API上以供您消费,我不建议...

来自https://instagram.com/developer/authentication/

客户端(隐式(身份验证

如果您要构建一个没有服务器组件的应用程序(a 例如,纯粹是JavaScript应用程序(,您会注意到它是 无法完成上面的第三步以接收您的access_token 不必在客户上存储秘密。你应该 切勿将您的客户端秘密通过或将您的客户端秘密存储到客户端。对于这些 情况有隐式身份验证流。

最新更新