Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Http 为什么我的TwitterOAuthAPI调用更新状态失败,而其他调用可以工作?_Http_Rest_Twitter - Fatal编程技术网

Http 为什么我的TwitterOAuthAPI调用更新状态失败,而其他调用可以工作?

Http 为什么我的TwitterOAuthAPI调用更新状态失败,而其他调用可以工作?,http,rest,twitter,Http,Rest,Twitter,这是我用来验证身份验证的原始HTTP调用。它返回预期的响应: GET /1/account/verify_credentials.xml HTTP/1.1 Authorization: OAuth oauth_token="12556442-pndSo1mf2i1ToPSbAyLH4qBBDHmtyutjbvMLckGER",oauth_consumer_key="ih75ityikrTdIwB9kQ",oauth_nonce="6wIbdfxL",oauth_signature_method=

这是我用来验证身份验证的原始HTTP调用。它返回预期的响应:

GET /1/account/verify_credentials.xml HTTP/1.1
Authorization: OAuth oauth_token="12556442-pndSo1mf2i1ToPSbAyLH4qBBDHmtyutjbvMLckGER",oauth_consumer_key="ih75ityikrTdIwB9kQ",oauth_nonce="6wIbdfxL",oauth_signature_method="HMAC-SHA1",oauth_signature="7DUW5TLtntryndfhU5dSXARg%3D",oauth_version="1.0",oauth_timestamp="1267805254"
Host: api.twitter.com
这是我(尝试)拨打的电话,旨在更新用户状态:

POST /1/statuses/update.xml HTTP/1.1
Authorization: OAuth oauth_token="1252356242-pndSo1mf2i1ToPSfghfghfQoMLckGER",oauth_consumer_key="ih75i83BXdfhnfghnfgQ",oauth_nonce="CJ9dfgXs",oauth_signature_method="HMAC-SHA1",oauth_signature="bSD7aXUdfghdfghfghfghoU%3D",oauth_version="1.0",oauth_timestamp="1267235407"
Content-Type: application/x-www-form-urlencoded
Host: api.twitter.com
Content-Length: 11
Connection: Keep-Alive

status=blah
对于第二个请求,我从twitter上得到的回复如下:

HTTP/1.1 401 Unauthorized
Date: Fri, 05 Mar 2010 16:17:18 GMT
Server: hi
Status: 401 Unauthorized
WWW-Authenticate: Basic realm="Twitter API"
Content-Type: application/xml; charset=utf-8
Content-Length: 135
Cache-Control: no-cache, max-age=1800
Set-Cookie: guest_id=12672352252251; path=/
Set-Cookie: _twitter_sess=BAh7CDoPY3JlYXRlZF9hdGsdgsdhdrhvdrthvdthd0%250ANDdkZTEyZjczZTY3ZGE4YmQ5IgpmbGFzaElDOidBY3Rpb25Db250cm9sbGVy%250AOjpGbGFzaDo6Rmxhc2hIYXNoewAGOgpAdXNlZHsA--0eb657ba0esdrvthdtdtgcdrtgc0ece8f1460; domain=.twitter.com; path=/
Expires: Fri, 05 Mar 2010 16:47:17 GMT
Vary: Accept-Encoding
Connection: close

<?xml version="1.0" encoding="UTF-8"?>
<hash>
  <request>/1/statuses/update.xml</request>
  <error>Incorrect signature</error>
</hash>
HTTP/1.1 401未经授权
日期:2010年3月5日星期五格林尼治标准时间16:17:18
服务员:你好
状态:401未经授权
WWW-Authenticate:Basic-realm=“Twitter-API”
内容类型:application/xml;字符集=utf-8
内容长度:135
缓存控制:无缓存,最大年龄=1800
设置Cookie:guest_id=1267235225221;路径=/
设置Cookie:_twitter_sess=BAH7CDOPY3JLYXRLZF9HDGSDGSDHRHVDRTHVDTHD0%250和DKZTEYZJCZZTY3ZGE4YMQ5IGPMBGFZAELDOIDBY3RPB25DB250CM9SBGVY%250AOJPGBGFZADO6RMXHC2HIYXNOEWANOGPADXNLZHSA--0EB657BA0ESDRVTHDTGCDRTGC0ECE8F1460;域名=.twitter.com;路径=/
过期时间:2010年3月5日星期五16:47:17 GMT
改变:接受编码
连接:关闭
/1/statuses/update.xml
签名不正确
知道会出什么问题吗

  • 注意,OAuth令牌和其他东西当然已经被打乱了

    • 我遇到了类似的问题…401未经授权…使用php 我一直在学习中的例子

      直到我发现参数“POST”和$data 在队列中被交换 $content=$to->OAuthRequest(“”,'POST',$data)

      也许这也是你的情况

      也许不是,反正我觉得那个教程很有用


      Chee

      我遇到了类似的问题…401未经授权…使用php 我一直在学习中的例子

      直到我发现参数“POST”和$data 在队列中被交换 $content=$to->OAuthRequest(“”,'POST',$data)

      也许这也是你的情况

      也许不是,反正我觉得那个教程很有用

      欢呼声

      已解决:

      尽管我不得不将此调用作为POST请求,但实际参数不能在POST正文中。我将状态变量放在请求的查询字符串中,它工作正常。

      已解决:


      尽管我不得不将此调用作为POST请求,但实际参数不能在POST正文中。我将状态变量放在请求的查询字符串中,它工作正常。

      POST参数被输入到生成签名的哈希中,因此您必须确保在计算签名时包含它们

      POST参数被输入到生成签名的散列中,因此您必须确保在计算签名时包含它们

      这里没有真正的帮助。。。我在上面看到了原始HTTP,我想知道出了什么问题。这是语言不可知论。谢谢你的反馈。这里没有真正的帮助。。。我在上面看到了原始HTTP,我想知道出了什么问题。这是语言不可知论。谢谢你的反馈。哇,你认为自己的答案是正确的。绝地武士,几率有多大?@Stephanie这是唯一正确的答案。当我解决自己的问题时,你愿意我接受错误的答案吗?!哇,你认为自己的答案是正确的。绝地武士,几率有多大?@Stephanie这是唯一正确的答案。当我解决自己的问题时,你愿意我接受错误的答案吗?!