2013-06-23 3 views
0

Я хочу, чтобы иметь возможность опубликовать твиттер в Twitter для имени моих пользователей, которые хотят делиться своими сообщениями с моим сайтом как твитом тоже. Я использую замечательный класс TwitterAPIExchange Джеймса Мэллисона и пытаюсь опубликовать его в twitter с помощью PHP. Класс найден here.Почему мой подход к использованию нового API Twitter плохо?

Я пытаюсь использовать его следующим образом:

 /** Set access tokens here - see: https://dev.twitter.com/apps/ **/ 
     $settings = array(
      'oauth_access_token' => $core->getOauthAccessToken(), 
      'oauth_access_token_secret' => $core->getOauthAccessTokenSecret(), 
      'consumer_key' => $core->getTwitterConsumerKey(), 
      'consumer_secret' => $core->getTwitterConsumerSecret() 
     );    
     $url = 'https://api.twitter.com/1.1/statuses/update.json'; 
     $requestMethod = 'POST';    
     $stripped_question = "See my reply to \"$stripped_question\""; 
     $stripped_response = $stripped_response; 
     $message = $stripped_question.$stripped_response; 
     /*$postfields = array(
      'status' => rawurlencode(rawurlencode($message)) 
     );*/    
     $postfields = array(
     CURLOPT_HTTPHEADER => array("https://api.twitter.com/oauth/authorize"), 
     CURLOPT_HEADER => false, 
     CURLOPT_URL => $core->getHomeUrl(), 
     CURLOPT_POST => true, 
     CURLOPT_POSTFIELDS => 'status=' . rawurlencode(rawurlencode($status)), 
     CURLOPT_RETURNTRANSFER => true, 
     CURLOPT_VERBOSE => true, 
     CURLOPT_SSL_VERIFYPEER => false 
     ); 
     /** Perform the request and echo the response **/ 
     $twitter = new TwitterAPIExchange($settings); 
     echo "<!--".var_dump($twitter->buildOauth($url, $requestMethod) 
      ->setPostfields($postfields) 
      ->performRequest())."-->";    

Однако что-то не так, я получаю следующее сообщение об ошибке:

string(63) "{"errors":[{"message":"Could not authenticate you","code":32}]}" 

Итак, мой вопрос: Как я могу отправить твиттер в твиттер во имя пользователя моего сайта? Почему твиттер не может аутентифицировать пользователя? Я проверил данные, и все кажется правильным, поэтому я считаю, что проблема заключается во втором коде в моем сообщении. Большое спасибо за любой ответ.

+0

Эй, Лайош, вы получили эту работу? – Jimbo

ответ

0

Некоторые небольшие проверки

  1. Вы регенерировать маркер доступа?
  2. У вас есть права на запись в приложении?

Первый работал для меня.

+0

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