PHP пост в Twitter с использованием oAuth и ошибки 403 - PullRequest
2 голосов
/ 14 июля 2011

У меня проблема с публикацией сообщений в Twitter, использованием oAuth и получением ошибки 403.Позвольте мне объяснить:

Сделав всю аутентификацию и «запустив» это:

$message = "Some text";
$oauth->post('statuses/update', array("status" => $message));

Сообщение появляется в Twitter, я получаю ответ 200 и все хорошо.

Однако, когда я пытаюсь использовать:

$message = $text;
$oauth->post('statuses/update', array("status" => $message));

Теперь $text извлекается из некоторого XML, используя SimpleXMLElement в PHP.Затем я использую $text = $entry->summary;, чтобы сохранить строку, которую я хочу чирикать.Я уже проверяю, что текст <140 символов, поэтому я знаю, что текст имеет правильную длину.</p>

Однако при выполнении кода я получаю ошибку 403.

Вот пример содержимого $message, которое содержит $text из var_dump:

object(SimpleXMLElement)#8 (2) { ["@attributes"]=> array(1) { ["type"]=> string(4) "html" } [0]=> string(104) "Attempting a PHP script to tweet something when it features the hashtag #tweeted and is under 140 chars." } 

Я подумал, что там может быть #, чтобыл причиной проблемы, но я могу подтвердить, что я могу твитнуть, используя первый пример, содержащий хэш без проблем.

Нужно ли каким-либо образом кодировать или декодировать строку перед отправкой в ​​Twitter?Я в замешательстве.

Ответы [ 2 ]

2 голосов
/ 14 июля 2011

Проблема в том, что вы пытаетесь отправить текст object $ в виде строки.

Так что все, что преобразует объект SimpleXmlElement в строку, должно работать.Я думаю, что даже простой $message = (string)$text справится.

0 голосов
/ 14 июля 2011
$message = urldecode($text);

Проблема решена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...