2012-05-16 2 views
0

В предисловии, я мало знаю о PHP. Тем не менее, я не уверен, что это проблема с PHP, но, возможно, большая проблема, когда я понимаю библиотеки для подключения к Twitter.Проблема с использованием библиотек PHP Twitter для отправки твитов

Я следил за учебником здесь http://140dev.com/twitter-api-programming-tutorials/hello-twitter-oauth-php/, который использует библиотеку твиттера Мэтта Харриса. Я ничего не менял, кроме ключей, которые я получил из твиттера.

Когда я запускаю следующий код я получить несанкционированный код ошибки 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 на 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 автора!?!?

Спасибо за любую помощь, которую вы можете предоставить!

ответ

2

Если вы уверены, что ключи правильные, я бы посоветовал вам проверить настройки приложения в твиттере, чтобы убедиться, что режим записи включен.

В настройках приложения убедитесь, что доступ тип приложения установлен

чтение, запись и доступ прямого сообщения

(Или, по крайней мере, чтение/запись)

Тогда, возможно, попробуйте снова создать токен доступа?

+0

Фактически это был токен доступа, не имеющий соответствующих разрешений. Мне пришлось удалить права доступа для приложения, а затем воссоздать ключ доступа. По-видимому, если вы запрашиваете токены доступа, прежде чем устанавливать параметры приложения «Чтение, запись и доступ», токен получит тот же доступ, что и приложение во время создания. Это не изменится при изменении уровня разрешений приложения. Благодаря! – wali

+0

Twitter должен сказать это, если вы измените разрешения, вам нужно сгенерировать ключи еще раз ... что бы то ни было, спасибо за совет –

Смежные вопросы