爲了序言,我對PHP不太瞭解。但是,我不確定這是一個PHP問題,但可能更多的是與我瞭解連接到Twitter的庫有關的問題。使用PHP Twitter庫發送鳴叫時遇到麻煩
我按照這裏的教程http://140dev.com/twitter-api-programming-tutorials/hello-twitter-oauth-php/使用馬特哈里斯的Twitter庫。除了我從Twitter獲得的鑰匙外,我沒有改變任何東西。
當我運行下面的代碼我得到一個未經授權的錯誤代碼401:
$tweet_text = 'Hello Twitter';
print "Posting...\n";
$result = post_tweet($tweet_text);
print "Response code: " . $result . "\n";
function post_tweet($tweet_text) {
require_once('tmhoauth/tmhOAuth.php');
$connection = new tmhOAuth(array(
'consumer_key' => '******',
'consumer_secret' => '******',
'user_token' => '******',
'user_secret' => '******',
));
// Make the API call
$connection->request('POST',
$connection->url('1/statuses/update'),
array('status' => $tweet_text));
return $connection->response['code'];
}
?>
正如我先前所說,我使用由Twitter提供的密鑰。
有人能幫我試圖用上面的庫來測試twitter credientail驗證器在https://api.twitter.com/1/account/verify_credentials.json?
我也使用與此新的TwitterOAuth庫下面的例子SO發佈Using basic oauth to send a tweet嘗試:
<?php
require_once('twitteroauth.php');
$connection = new TwitterOAuth('app consumer key', 'app consumer secret', 'my access token', 'my access token secret');
$connection->post('statuses/update', array('status' => 'text to be tweeted'));
它沒有工作爲好;但它確實將頁面轉發給作者的github頁面!?!?
感謝您提供任何幫助!
它實際上是訪問令牌沒有適當的權限。我必須刪除應用程序的訪問權限,然後重新創建訪問密鑰。顯然,如果您在將應用程序設置設置爲「讀取」,「寫入」和「訪問」之前請求訪問令牌,則令牌將在創建時獲得與應用程序相同的訪問權限。它不會隨着您更改應用程序的權限級別而改變。謝謝! – wali
Twitter應該告訴它,如果你改變權限,你必須再次生成密鑰...什麼都可以,謝謝你的建議 –