使用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
答案 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'] )