#php #cakephp #twitter #oauth
#php #cakephp #Twitter #oauth
Вопрос:
Я пытаюсь получить ключ доступа из Twitter, но получаю 401 в getAccessToken()
. OAuth::getRequestToken()
работает нормально.
Есть идеи, почему?
App::import('Core', 'CakeSession');
class TwitterSource extends DataSource {
public $key;
public $secret;
private $requestTokenUrl = 'https://api.twitter.com/oauth/request_token';
private $authorizeUrl = 'https://api.twitter.com/oauth/authorize';
private $accessTokenUrl = 'https://api.twitter.com/oauth/access_token';
public function __construct ($config) {
$this->key = $config['key'];
$this->secret = $config['secret'];
$this->Session = new CakeSession();
parent::__construct();
}
public function getAuthorizeUrl ($callback) {
$o = new OAuth($this->key, $this->secret);
$t = $o->getRequestToken($this->requestTokenUrl, $callback);
$this->Session->write('twitter_request_token', $t);
return $this->authorizeUrl.'?'.http_build_query(array(
'oauth_token' => $t['oauth_token'],
'oauth_callback' => $callback,
'force_login' => false
));
}
public function getAccessToken () {
$t = $this->Session->read('twitter_request_token');
if ($t == null) {
return false;
}
$oauth_verifier = isset($_GET['oauth_verifier']) ? $_GET['oauth_verifier'] : null;
$o = new OAuth($this->key, $this->secret);
$o->setToken($t['oauth_token'], $t['oauth_token_secret']);
return $o->getAccessToken($this->accessTokenUrl, null, $oauth_verifier);
}
}
Комментарии:
1. Какую ошибку вы получаете от обратной связи из Twitter при
getAccessToken()
сбое?2. Я получаю именно то, что мне нужно в виде массива, извините за мою ошибку, но спасибо, что указали мне правильное направление.