php - 无法验证您的代码 32 twitter

标签 php json twitter

有如下代码:

<pre><code> $oauth_nonce = md5(uniqid(rand(), true)); $oauth_timestamp = time(); $users_ids = implode(',',$users_ids['ids']); $url = 'https://api.twitter.com/1.1/users/lookup.json'; $oauth_sig_text = self::sign_twitter($url,$oauth_token,false,$oauth_nonce,$oauth_timestamp,$users_ids); $key = __TWITTERSECRET__ . '&' . $oauth_token_secret; $signature = base64_encode(hash_hmac("sha1", $oauth_sig_text, $key, true)); $params = array( 'oauth_consumer_key' => __TWITTERKEY__, 'oauth_nonce' => $oauth_nonce, 'oauth_signature' => $signature, 'oauth_signature_method' => "HMAC-SHA1", 'oauth_timestamp' => $oauth_timestamp, 'oauth_token' => urlencode($oauth_token), 'oauth_version' => '1.0', 'user_id' => $users_ids ); $url .= '?'.http_build_query($params); $users_data = json_decode(file_get_contents($url),true); echo '<pre>'; print_r($users_data); echo '</pre>'; </code></pre> <p>And signature: <code></code></p><code> <pre><code> protected function sign_twitter($url,$token,$verifier,$nonce,$timestamp,$ids=false){ $oauth_base_text = "GET&"; $oauth_base_text .= urlencode($url).'&'; $oauth_base_text .= urlencode('oauth_consumer_key='.__TWITTERKEY__.'&'); $oauth_base_text .= urlencode('oauth_nonce='.$nonce.'&'); $oauth_base_text .= urlencode('oauth_signature_method=HMAC-SHA1&'); $oauth_base_text .= urlencode('oauth_timestamp='.$timestamp."&"); $oauth_base_text .= urlencode('oauth_token='.$token."&"); $oauth_base_text .= urlencode('oauth_version=1.0&'); if ($verifier) { $oauth_base_text .= urlencode("oauth_verifier=".$verifier."&"); $oauth_base_text .= urlencode("oauth_callback=".urlencode(__REDIRECT__)."&"); } else { $oauth_base_text .= urlencode('user_id=' . $ids); } return $oauth_base_text; } </code></pre> <p>I receive an error:</p> <p><code> Array([errors] => Array([0] => Array([message] => Could not authenticate you [code] => 32))) </code></p> <p>if you take a single identifier, the data are given ($users_ids = $users_ids['ids']['0']). I have read a lot of topics on this issue, and everywhere it is written that the problem in comma that it should be encoded% 2C but it does not help ...</p> <p>final url:</p> </code><pre><code>https://api.twitter.com/1.1/users/lookup.json?oauth_consumer_key=Q6KMZzN7AAW******HoxmA&oauth_nonce=ab7e09e8466e0c9893acf3da32de9565&oauth_signature=rhUPhe1HgfcR%2Fr3nkTomuksWPzo%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1378367650&oauth_token=1727480588-IlvYrJZcRnp3dKScJiyZfEEMRpiqlVMTQTr764Q&oauth_version=1.0&user_id=93456690%2C81866717 </code></pre> <p>signature:</p>
GET&https%3A%2F%2Fapi.twitter.com%2F1.1%2Fusers%2Flookup.json&oauth_consumer_key%3DQ6KMZzN7AAW******HoxmA%26oauth_nonce%3Dab7e09e8466e0c9893acf3da32de9565%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1378367650%26oauth_token%3D1727480588-IlvYrJZcRnp3dKScJiyZfEEMRpiqlVMTQTr764Q%26oauth_version%3D1.0%26user_id%3D93456690%2C81866717

刚试过 POST 请求,没有帮助,所有完全相同的错误。

最佳答案

重新生成您的 Authtoken 并使用新的并再次检查。

关于php - 无法验证您的代码 32 twitter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18631069/

相关文章:

ios - 通过 Twitter 登录时获取用户的 MailID

php - 连接两张表的sql语句

php - 我应该使用什么 HTTP 重定向状态来链接异地?

javascript - setInterval 第二次不处理 ajax 调用

php - 通过 HTML 将复杂变量传递给 javascript 的正确方法

ios - Swift 4 如何将自定义对象数组转换为 JSON

javascript - 如何构造具有动态值和多级数组的 json

php - 通过添加 GET 参数来操作 url 字符串

java - spring-social-twitter,@Value 不连接属性

wordpress - 获取 Twitter 按钮、计数和自定义 bit.ly URL 的方法,有效吗?