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

添加回调url时,Twitter API oAuth签名失败

汪泓
2023-03-14

我正在使用另一个twitter oAuth cURL访问令牌请求的代码/指南,该请求无法测试对API的签名。我还在试着完成第一步

注意:钥匙只是随机的,它们不是真的:)

当我尝试在没有oauth\u回调的情况下发出请求时,我从api得到了一个有效的响应

https://api.twitter.com/oauth/request_token?oauth_consumer_key=nHb2kSQ2CD9MW1MdW5VeQ

当我添加oauth\u回调字符串时(必须让用户使用重定向签名!)我得到“验证oauth签名和令牌失败”

https://api.twitter.com/oauth/request_token?oauth_callback=http://127.0.0.1/test/

我的意思是这两个URL之间没有区别,它们都经过相同的执行,并且它们尊重签名方法。如何修复它?

是,我添加了<代码>http://127.0.0.1/test/作为twitter应用程序设置中的回调url。

非常感谢。

共有3个答案

隆飞宇
2023-03-14

我解决了这个问题。问题是,即使回调URL是使用querystring方法或标头正确发送的,正如您在链接上看到的那样,它在从基字符串创建签名时也是双重转义的。由于留档在这方面非常糟糕,我认为您不应该像其他oauth_*参数一样对其进行双重转义(又名百分比编码”

鲜于阳成
2023-03-14

同意twitter API记录不佳:)

遵循以下规则:

  1. 如果您的oauth_callback不包含任何查询字符串=不需要任何funky。
  2. 如果您的oauth_callback有任何查询字符串参数=URL分别对查询字符串参数进行编码。

希望这能解释。

孙博艺
2023-03-14

您是否在twitter应用程序设置中设置了回调url?

如果不进行设置,api可能会失败。

从这里检查:

还要检查您的时间是否同步(使用NTP服务器);参见:https://dev.twitter.com/discussions/1043

 类似资料:
  • 我正在生成一个XML Xades签名。我需要在标记签名中添加名称空间http://uri.etsi.org/01903/v1.3.2#。 如果我在对文档签名后添加此标记,我将得到无效签名错误。 我需要命名空间将在标记签名中而不是标记对象中

  • 有没有办法让预签名的aws上传URL在出现错误时返回json响应,而不是xml响应。 目前,如果url过期,它会返回如下内容。 如果这是json响应就好了。

  • 我在本地Karaf4.0.2安装中的mvn.cfg文件中添加了一个新的mvn url,如下所示: org.ops4j.pax.url.mvn.repositories=\http://repo1.maven.org/maven2@id=central,\http://repository.springsource.com/maven/bundles/release@id=spring.ebr.re

  • 我有一个无服务器的aws lambda,它将通过预先签名的URL将对象获取/放入加密的S3存储桶。getObject工作得很好。一旦我加密存储桶,putObject就会生成错误,我无法理解原因。我玩过头球之类的游戏,但仍然无法让它发挥作用。守则/政策如下: λ 呼叫代码如下: 生成预签名URL 上传到PreSigned URL(原始问题没有serversid加密头) 桶政策 FWIW,我可以通过a

  • 我试图上传图像/视频使用PHP/Javascript到AWS S3 这是我的PHP代码 这是我的Java脚本代码 所有这些功能工作伟大,我想即使在执行它给我文件上传成功消息too.but当我检查s3什么都没有。 即使在控制台中,它也会像下面一样生成预签名URL。但当我尝试单击它时,它会给我SignatureDesNotMatch错误。(请单击URL)。可能是什么错误。。? https://ibra

  • 我有下一个从Amazon获取URL的代码,但我需要该URL看起来像 https://vis3dev.s3.amazonaws.com/359952_1550525274.mp4 而不是 https://vis3dev.s3.amazonaws.com/266295041.mp4?X-Amz算法=AWS4-HMAC-SHA256