真的很抱歉,如果这听起来非常糟糕,但过去几天我一直在玩Python。
我一直在尝试制作桌面客户端。简而言之,我已设法制作一个用于授权的URL。它就像http://www.samplesample.com/authorize/oauth_token=[bigassstringhere]&oauth_callback=http://sometokenrecievingurl.com
转到该网址,我被重定向到http://sometokenrecievingurl.com?oauth_token=[anotherbigassstring]&oauth_verifier=[yetanotherbigassstring]
所以我的问题是有没有办法获取oauth_token和oauth_verifier值而无需手动复制和粘贴URL以进行授权?就像有没有办法让python自己检查生成的URL,检查它被重定向到的URL,然后切出oauth_token和oauth_verifier部分?
再次,抱歉,如果这听起来很简单。我不确定,因为我真的很陌生,所以我一直在寻找相关的问题而没有运气。或许我只是看错了链接或条款。但是,任何帮助都会受到赞赏。
修改
好的,所以我继续玩,我继续玩,我完全忘了这里的一步。生成的URL实际上会将您引导至我需要单击是否允许访问的页面。单击“允许”后,这是我唯一一次被重定向到http://sometokenrecievingurl.com?oauth_token=[anotherbigassstring]&oauth_verifier=[yetanotherbigassstring]
所以我想知道,我如何继续从开放浏览器中提取这些字符串?
答案 0 :(得分:0)
根据您网址中oauth_verifier
的存在,您正试图通过OAuth 1.0a授权流程。
OAuth协议使网站或应用程序(消费者)能够通过API从Web服务(服务提供商)访问受保护资源
这意味着您应该运行Web服务器以使用此授权协议。
OAuth 1.0a授权流程大致如下:
oauth_token
和oauth_token_secret
。您应该将oauth_token_secret
保存到DB或会话之类的持久性存储中,因为您将在以后的流程中使用它。oauth_token
和oauth_callback
网址 - 服务器的网址,供应商在授予用户访问权限后会重定向用户。oauth_callback
网址。在这里,您应该从请求中获取oauth_verifier
和oauth_token
并检索您在步骤1中存储的oauth_token_secret
,然后将plenty of other request parameters包括signature一起发送到oauth_token
服务器端提取到提供程序的访问令牌URL 。最后,回复应包含{{1}},这是您所需的访问令牌,您可以{{}}通过提供商API。如果要在本机(非服务器)应用程序中授权用户,则应使用access the user's protected resources,它还支持OAuth 2.0的授权。但它也取决于提供者。
我不建议您手动实现,尤其不是OAuth 1.0a,而是采用大量的python授权框架之一。