Foursquare OAuth2 401错误

时间:2012-02-02 05:18:32

标签: php curl oauth oauth-2.0 foursquare

使用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 :(得分:0)

好的,这是发生了什么:

在oauth-php客户端代码中,OAuthRequestSigner的getQueryString方法在构建请求url查询字符串时有以下条件,以防止添加OAuth 1.0签名的params:

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

我有一个配置文件来管理我的OAuth参数并添加了

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

传递给OAuthRequestSigner类并将条件调整为

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