2015-01-18 4 views
0

Я получаю следующее сообщение об ошибке:Laravel Tumblr OAuth - Не удался запросить ресурс

Screenshot of the error

Я использую artdarek-х oauth-4-laravel, но не кажется, что будет много поддержки в области вопросов.

Мой код выглядит следующим образом:

public function tumblrLogin() 
{ 
    $oauth_token = Input::get('oauth_token'); 
    $oauth_verifier = Input::get('oauth_verifier'); 
    $tumblr = OAuth::consumer('Tumblr', 'http://30daychallenges.net/auth/tumblr/'); 

    if (!empty($oauth_token) && !empty($oauth_verifier)) 
    { 
     $token = $tumblr->retrieveAccessToken('Tumblr'); 
     $tumblr->requestAccessToken($oauth_token, $oauth_verifier, $token->getRequestTokenSecret()); 

     $result = json_decode($tumblr->request('user/info'), true); 

     dd($result); 

    } 
    else 
    { 
     // get request token 
     $token = $tumblr->requestRequestToken(); 
     // get Authorization Uri sending the request token 
     $url = $tumblr->getAuthorizationUri(array('oauth_token' => $token->getRequestToken())); 

     return Redirect::to((string)$url); 
    } 
} 

ошибка выглядит, как это идет от

$token = $tumblr->requestRequestToken(); 

Но я не могу понять, почему - кто испытал эту ошибку раньше?

+0

Несколько мыслей: Вы обновили конфигурацию пакета с помощью 'Tumblr'' client_id' и 'client_secret'? Что делает 'var_export (ini_get ('allow_url_fopen'));' show? Будет ли он работать, если вы установите пользовательский агент ('ini_set ('user_agent', 'oauth');')? Кроме того, вы можете попробовать отладку прямо при ошибке: 'vendor/lusitanian/oauth/src/OAuth/Common/Http/Client/StreamClient.php'. Замените 'error_reporting (0)' '' error_reporting (E_ALL) 'и посмотрим, будут ли ошибки' file_get_contents' вызывать какие-либо ошибки. – patricus

+0

@patricus Результат var_export составляет 1, поэтому allow_url_fopen работает - так же, как и в Facebook, Twitter и Google OAuth. Ini_set не исправляет это. Я собираюсь попробовать прямо отлаживать данный файл сейчас - спасибо! – Mikey

+0

@patricus Файл_get_contents вызывает следующее: 'file_get_contents (https://www.tumblr.com/oauth/request_token): не удалось открыть поток: запрос HTTP не удался! HTTP/1.1 401 Неавторизованный' – Mikey

ответ

1

О, мой. Я чувствую себя таким идиотом.

В /app/config/packages/artdarek/oauth-4-laravel/config.php У меня были учетные данные в массиве, однако ключи массива были user_key и consumer_secret, как предполагал API Tumblr.

Пакет oauth-4-laravel ожидает, что они будут равно client_id и client_secret, так что это мое плохое.

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