python - 我怎样才能获得访问令牌?OAuth1与指令参数不兼容
问题描述
我使用来自官方网站的指令,在最后一步他们说: OAuth1 使用此参数oauth_token 和 oauth_verifier 响应,我是从 github 中的这个instaction 中获得的,github中的最后一步出现错误。所以我尝试使用 OAuth1 标准库来做最后一步,我不明白我做错了什么,请治疗,我整天都在谷歌搜索和检查这个团队的 stackoverflow,但新鲜空气只能在https://discussion中找到.evernote.com/topic/18710-access-token-secret-returning-blank/有人以某种方式通过 AppEngine-OAuth-Library(wtf) 获取访问令牌。
github - https://github.com/evernote/evernote-sdk-python
官方网站 - https://dev.evernote.com/doc/articles/authentication.php
oauth_token = "sudden1306.16789DDB2A2.68747470XXXF2F7777772E666F6F2E636F6D2F.E3319C18235C586BFB93C58A45551293"
oauth_verifier = "62D64740CXXXX9788649BA6E6A0661C7"
consumer_key = 'suddXXX06'
consumer_secret = '9e36013XXXXd195'
request_token_url = 'https://evernote.com/oauth'
oauth = OAuth1Session(client_key=consumer_key, client_secret=consumer_secret,
resource_owner_key=oauth_token, resource_owner_secret=None,
verifier=oauth_verifier)
# oauth_tokens = requests.get(request_token_url, auth=oauth)
oauth_tokens = oauth.get(request_token_url)
print(oauth_tokens)
并得到
<Response [404]>
我已经激活了 API 密钥
解决方案
我解决了这个问题。我尝试从这个讨论中回答为什么我在尝试使用 Evernote 进行身份验证时收到 KeyError?有一些细节。
我安装了需要的 python 2.7 和库。并开始获取请求令牌和 授权 url。我保存了 request_token['oauth_token'] 和 request_token['oauth_token_secret']。
consumer_key = 'suddXXX306'
consumer_secret = '9e36XX8d195'
request_token_url = 'https://evernote.com/oauth'
client1 = EvernoteClient(
consumer_key=consumer_key,
consumer_secret=consumer_secret,
sandbox=False
)
request_token = client1.get_request_token('http://foo.com')
print client1.get_authorize_url(request_token)
print request_token
print request_token['oauth_token']
print request_token['oauth_token_secret']
exit()
然后我在我的浏览器中从授权 url中选择了 URL 并得到了在 URL oauth_verifier=...(保存)示例
最后一步,我将所有需要的信息放入此代码。
oauth_verifier="7D279E750C4CXXXXX7828E173F4"
oauth_token = 'suddeXXX687474703XXXXF6D.5142FBBC6D9CEEE7ADEAD6E65DDD697B'
oauth_token_secret = "2AE25XXXXXACC1D3F65EA887"
consumer_key = 'suddXXXX6'
consumer_secret = '9e3XXXXXX195'
client = EvernoteClient(
consumer_key=consumer_key,
consumer_secret=consumer_secret,
sandbox=False
)
access_token = client.get_access_token(
oauth_token,
oauth_token_secret,
oauth_verifier
)
print access_token
exit()
并获得了access_token。如果您只需要用于生产印象笔记 API 的令牌,这是最简单的方法。
推荐阅读
- upgrade - 将 M0 集群指向同一区域和账户中的现有 M10 集群
- angular - 量角器出现问题的原因 = 失败:脚本超时错误
- microsoft-graph-api - com.microsoft.aad.msal4j.AcquireTokenByDeviceCodeFlowSupplier 类的执行失败
- sql - 在 Hive 中,如何在 XML 中多次出现的相同父标签下分解相同的子标签?
- javascript - 无法设置最小日期
- php - 如何获取常量的值并将其保存到数据库中
- python - 将日期时间字符串转换为日期时间格式(日文字符)
- yaml - 在 yaml 文件中,如何在不同键(.yml 文件)的另一个长列表值之间/之间使用键的值
- redis - 如何创建 bitnami redis-cluster ACL 用户并在 redis.conf 上持久化条目?
- reactjs - react-spring,单独为列表项设置动画