【发布时间】:2020-03-15 18:54:54
【问题描述】:
我在创建 OAuth 签名时开始了 twitter API 测试,显示的响应是
{"errors":[{"code":215,"message":"Bad Authentication data."}]}
添加了文档中提到的所有参数和标题,但没有得到正确的结果,如果我做错了什么,请告诉我。
<cfset status = "Hello Ladies + Gentlemen, a signed OAuth">
<cfset include_entities = true >
<cfset oauth_consumer_key = "x3OgJNjJ5TPGj7jyvLz9rUzfU">
<cfset oauth_nonce = createUUID()>
<cfset oauth_signature_method ="HMAC-SHA1" >
<cfset oauth_timestamp = GetTickCount()/1000>
<cfset oauth_token = "1196333045885702145-BPWGfPyKakezuqYoLaYXiIgQ5TWAkf">
<cfset oauth_version = "1.0">
<cfset parameterString = "include_entities=true&oauth_consumer_key=#oauth_consumer_key#&oauth_nonce=#oauth_nonce#&oauth_signature_method=#oauth_signature_method#&oauth_timestamp=#oauth_timestamp#&oauth_token=#oauth_token#&oauth_version=1.0&status=#urlEncodedFormat(status)#" >
<cfdump var="#parameterString#">
<cfhttp url="https://api.twitter.com/1.1/statuses/update.json" method="POST" >
<cfhttpparam type="header" name="Content-Type" value="application/x-www-form-urlencoded">
<cfhttpparam type="header" name="mimetype" value="application/x-www-form-urlencoded" />
<cfhttpparam type="header" name="Accept" value="*/*" />
<cfhttpparam type="header" name="Connection" value="close" />
<cfhttpparam type="header" name="Host" value="api.twitter.com" />
<cfhttpparam type="header" name="User-Agent" value="OAuth gem v0.4.4" />
<cfhttpparam type="header" name="Content-Length" value="76">
<cfhttpparam type="header" name="include_entities" value="#include_entities#">
<cfhttpparam type="header" name="oauth_consumer_key" value="#oauth_consumer_key# ">
<cfhttpparam type="header" name="oauth_nonce" value="#oauth_nonce#">
<cfhttpparam type="header" name="oauth_signature_method" value="#oauth_signature_method#">
<cfhttpparam type="header" name="oauth_timestamp" value="#oauth_timestamp#">
<cfhttpparam type="header" name="oauth_token" value="#oauth_token#">
<cfhttpparam type="header" name="oauth_version" value="#oauth_version#">
<cfhttpparam type="header" name="status" value="#urlEncodedFormat(status)#">
<cfhttpparam type="body" value="#parameterString#" >
</cfhttp>
<cfdump var="#cfhttp#"><cfabort>
【问题讨论】:
-
好的,那么您在调查此问题时做了哪些工作?在单步调试和调试您发送的内容时,您还会收到什么错误信息。
-
这有点老了,但可能有用stackoverflow.com/questions/3081437/…
-
不,我试过这个,但我找不到问题
-
你试过这个你试过这个developer.twitter.com/en/docs/tweets/post-and-engage/…,你需要提到上面代码中遗漏的
oauth_signature。请检查一下。
标签: api twitter coldfusion twitter-oauth