OAuth::getAccessToken() выдает мне 401

#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. Я получаю именно то, что мне нужно в виде массива, извините за мою ошибку, но спасибо, что указали мне правильное направление.