Ошибка Foursquare OAuth2 401 - PullRequest
       16

Ошибка Foursquare OAuth2 401

0 голосов
/ 02 февраля 2012

Использование PHP и curl для генерации токена доступа с этим URL:

https://foursquare.com/oauth2/access_token?client_id=MY_CLIENT_ID&client_secret=MY_SECRET&grant_type=authorization_code&redirect_uri='.urlencode('MY_REDIRECT_URL').'&code='.$token['oauth_token']

Это обрабатывается очень хорошо и возвращает токен.Этот токен изменяется только тогда, когда я сбрасываю ключ и секретный ключ пользователя на foursquare.com

. Использование этого токена с

https://api.foursquare.com/v2/users/search?name=test&oauth_token=RETURNED_TOKEN

всегда возвращает ошибку 401.Я использовал эти инструкции https://developer.foursquare.com/overview/auth

1 Ответ

0 голосов
/ 03 февраля 2012

хорошо, вот что происходит:

в клиентском коде oauth-php метод getQueryString объекта OAuthRequestSigner имел следующее условие при построении строки запроса url запроса, чтобы предотвратить добавление подписанных параметров OAuth 1.0:

 (strncmp($name, 'oauth_', 6) != 0

У меня есть файл конфигурации для управления параметрами OAuth, и я добавил

 $param=array(
   ...
   'oauth2'=>true
   ...);

, который передается в класс OAuthRequestSigner и настраивается на

 ( (strncmp($name, 'oauth_', 6) != 0 || $param['oauth2'] )
...