And*_*ett 6 twitter coldfusion oauth
我想发布到Twitter.我已经对应用程序进行了身份验证,现在想要发布更新.
这是我的http帖子:
<cfhttp url="http://api.twitter.com/1/statuses/update.json" method="post">
<cfhttpparam type="header" name="status" value="#urlEncodedFormat('my test post')#" />
<cfhttpparam type="header" name="oauth_consumer_key" value="xxx" />
<cfhttpparam type="header" name="oauth_nonce" value="xxx" />
<cfhttpparam type="header" name="oauth_signature_method" value="#urlEncodedFormat('HMAC-SHA1')#" />
<cfhttpparam type="header" name="oauth_token" value="xxx" />
<cfhttpparam type="header" name="oauth_timestamp" value="#GetTickCount()#" />
<cfhttpparam type="header" name="oauth_version" value="1.0" />
</cfhttp>
Run Code Online (Sandbox Code Playgroud)
有没有人这样做过?我走的是正确的路线吗?
你读过这个吗?
\n\nhttp://dev.twitter.com/pages/auth#auth-request
\n\n您需要构建“签名基本字符串”并作为正文发布(警告:未经测试的代码,适用于 CF8+)
\n\n<cffunction name="makeSignatureBaseString" returntype="string" output="false">\n <cfargument name="httpMethod" type="string" required="true">\n <cfargument name="baseUri" type="string" required="true">\n <cfargument name="values" type="struct" required="true">\n\n <cfset var signatureBaseString = "#httpMethod#&#URLEncodedFormat(baseUri)#&">\n <cfset var keys = StructKeyArray(values)>\n <cfset var key = "">\n\n <cfset ArraySort(keys, "textNoCase")>\n <cfloop array="#keys#" index="key">\n <cfset signatureBaseString &= URLEncodedFormat("&#key#=#values[key]#")>\n </cfloop>\n\n <cfreturn signatureBaseString>\n</cffunction>\nRun Code Online (Sandbox Code Playgroud)\n\n-
\n\n<!--- using values from http://dev.twitter.com/pages/auth#auth-request --->\n<cfset params = {\n oauth_consumer_key = "GDdmIQH6jhtmLUypg82g\xe3\x82\x8b",\n oauth_nonce = "oElnnMTQIZvqvlfXM56aBLAf5noGD0AQR3Fmi7Q6Y",\n oauth_signature_method = "HMAC-SHA1",\n oauth_token = "819797-Jxq8aYUDRmykzVKrgoLhXSq67TEa5ruc4GJC2rWimw",\n oauth_timestamp = "1272325550",\n oauth_version = "1.0"\n}>\n\n<cfhttp url="http://api.twitter.com/1/statuses/update.json" method="POST">\n <cfloop collection="#params#" item="key">\n <cfheader type="header" name="#key#" value="#params[key]#">\n </cfloop>\n\n <!--- add status to the params for makeSignatureBaseString() --->\n <cfset params.status = "setting up my twitter \xe7\xa7\x81\xe3\x81\xae\xe3\x81\x95\xe3\x81\x88\xe3\x81\x9a\xe3\x82\x8a\xe3\x82\x92\xe8\xa8\xad\xe5\xae\x9a\xe3\x81\x99\xe3\x82\x8b">\n\n <cfhttpparam type="body"\n value="#makeSignatureBaseString(\'POST\', \'http://api.twitter.com/1/statuses/update.json\', params)#">\n</cfhttp>\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
2016 次 |
| 最近记录: |