当前位置: 首页 > 知识库问答 >
问题:

与Python一起使用Twitter API的oAuth验证

姜钧
2023-03-14

我正在尝试获取Twitter的oauth request_令牌,如下所述,调用“oauth/request_令牌”:https://dev.twitter.com/docs/auth/implementing-sign-twitter

我在这里使用encode_params函数生成参数:https://github.com/sixohsix/twitter/blob/master/twitter/oauth.py

然后,我将返回的字符串用dict键“Authorization”包装起来,并将其转储到使用python请求库发出的Post请求的头中。下面是我用来创建请求的两行代码。

ep = "OAuth " + auth.encode_params(baseUrl, method, params)
response = requests.post(baseUrl+method, headers={ "Authorization" : ep})

最终标题如下所示(消费者密钥已修改):

{'Accept': '*/*',
 'Accept-Encoding': 'gzip, deflate, compress',
 'Authorization': 'OAuth oauth_callback=http%253A%252F%252Fec2-54-244-189-248.us-west-2.compute.amazonaws.com%252Fct%252Ftwitter_login_handler%252F&oauth_consumer_key=xxx&oauth_nonce=14937468581358710045&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1366568033&oauth_version=1.0&oauth_signature=kiYucZzPY%2FXy2WyJliJ6YcggVzQ%3D',
 'Content-Length': '0',
 'User-Agent': 'python-requests/1.2.0 CPython/2.7.3 Linux/3.5.0-21-generic'}

然而,我仍然收到一个401响应,它说:“未能验证oauth签名和令牌”

知道我做错了什么吗?任何帮助都将不胜感激。

共有3个答案

东方方伟
2023-03-14

希望这能帮助其他人。。。从maxcountryman引用的代码中,有一条注释,在此之前我在其他地方没有找到:

#获取真正的消费者密钥

那帮助我进步了很多...干杯,伊恩。

暨正真
2023-03-14

我最终使用了python-oauth2。他们的指令有点过时,所以我更新了它们并提交了一个请求。到目前为止,它还没有被接受,但这里有一个链接到分叉回购与更新的指示。

慎志国
2023-03-14

我不能和你引用的剧本说话,但是如果你愿意尝试另一个库作为劳斯的作者,我可以推荐它。这是一个有效的推特例子。希望这有所帮助。

 类似资料:
  • 编辑:TL;DR 是否有人在angularjs中使用Magento Rest API,并能给我一些关于如何开始使用OAuth的提示? 我正在尝试使用magento Rest API和angularjs。我的问题是我甚至没有让启动endpoint工作。 要计算我使用https://github.com/bettiolo/oauth-signature-js签名: 我尝试了两种不同的方法: 1:使用授

  • 问题内容: 我一直在四处搜寻,但是我不太了解ajax的工作原理。 可否请人解释这是如何工作的? 我正在尝试做的是查看document.getElementsByClassName(current)是否已更改。如果有,它将询问app.py当前的评论和标签,并在不刷新的情况下更新页面。我也不知道该怎么写才能在app.py上收到它。 我将包含我的app.py,但这不是很好。 问题答案: 通常,服务器上的

  • 我目前正在使用Selenium运行Chrome的实例来测试网页。每次我的脚本运行,一个干净的Chrome实例启动(干净的扩展,书签,浏览历史,等等)。我想知道是否有可能运行我的脚本与Chrome扩展。我试着搜索一个Python示例,但是当我用谷歌搜索这个示例时,什么也没有找到。

  • 问题内容: 我有这样简单的ASP.NET MVC操作: 该有这样的验证特性: 在视图中,我正在使用以下助手: 如果我在将文本框置于验证中的表单上进行提交,则将首先在客户端上执行,然后在service()上完成。 现在我有几个问题: 可以将其与jQuery ajax提交一起使用吗?我正在做的就是简单地删除表单,然后单击“提交”按钮,javascript将收集数据,然后运行。 服务器端可以工作吗? 如

  • 我正在尝试学习python、mongodb和flask,我正在使用Miguel Grinberg提供的非常优秀的博客,他在博客上提供了一套很棒的教程。米格尔格林伯格。通用域名格式 我有一个小的RESTful服务器工作正常,但现在想从mongo而不是mysql中提取东西 我可以使用下面的代码拉出mongo记录,但我很难让它呈现出来。 我在下面的代码中使用了箭头来显示我在哪里挣扎,我认为缺乏经验。任何

  • 我只是很难让我的控制器单元测试正常工作,因为在我看来,如果使用OAuth,SpringDoc中的内容是不够的。在我的例子中,是Oauth2和JWT。 我尝试使用,,甚至使用和自定义定义我自己的注释,但在计算安全表达式时,总是在UserSecurityContext中获得匿名用户,无论我在工厂中设置测试上下文的是什么。。。 我提出了我刚刚想到的解决方案,但由于我不确定嘲笑令牌服务是最有效/干净的方法