我正在尝试更新我的工作当前用于使用新 OAUTH 的旧 ASP 经典 Twitter 程序。我不是 ASP 程序员,但我设法找到了 Tim Acheson 在http://www.timacheson.com/Blog/2013/jun/asptwitter在线发布的 ASPTwitter 库
一切正常,因为我们有自己的代码搜索我们的数据库并将构建的字符串传递给 ASPTwitter 代码以发布推文。
问题是它会失败
{"errors":[{"message":"Could not authenticate you","code":32}]}
如果有这么多的“。”,则会出现错误消息。字符串中的句点。除了字母和数字之外的每个可能的特殊字符都会导致失败。
我们有许多帖子,其中包含各种符号和 URL。
我已经搜索了所有内容,但无法找到解决方案。蒂姆网站上的评论提到了它,但还没有解决方案。这里的每个人都非常有帮助,所以我希望有人可以提供解决方案。
我无法发布代码,因为大约有 6 个文件,我不知道是哪个文件导致了问题。
非常感谢你的帮助!
编辑:
这是发生问题的 300+ 行文件的一个块,我希望也可以在这里找到原因。
' Gets bearer token for application-only authentication from Twitter API 1.1.
' Application-user authentication: https://dev.twitter.com/docs/auth/using-oauth
' and: https://dev.twitter.com/docs/auth/authorizing-request
' API endpoint statuses/update (post a tweet): https://dev.twitter.com/docs/api/1.1/post/statuses/update
Private Function UpdateStatusJSON(sStatus)
Dim sURL : sURL = API_BASE_URL + "/1.1/statuses/update.json"
Dim oXmlHttp: Set oXmlHttp = Server.CreateObject("MSXML2.ServerXMLHTTP")
oXmlHttp.open "POST", sURL, False
sStatus = "this is from the ASPTwitter dot asp file"
oXmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"
oXmlHttp.setRequestHeader "User-Agent", "emiratesjobpost.com"
oXmlHttp.setRequestHeader "Authorization", "OAuth " & GetOAuthHeader(sURL, sStatus)
oXmlHttp.send "status=" & Server.URLEncode(sStatus) ' Encoded spaces as + in request body.
UpdateStatusJSON = oXmlHttp.responseText
Set oXmlHttp = Nothing
REM: A JSON viewer can be useful here: http://www.jsoneditoronline.org/
' To fix error message "Read-only application cannot POST" go to your application's "Application Type" settings at dev.twitter.com/apps and set "Access" to "Read and Write".
' After changing access to read/write you must click the button to generate new auth tokens and then use those.
Response.Write "<textarea cols=""100"" rows=""3"" >" & UpdateStatusJSON & "</textarea>" : Response.Flush()
End Function
如果我将“点”替换为“。” 在“sStatus”行中,它会中断