Apache Oltu + Foursquare集成无法正常工作

我正在开发Spring + Apache Oltu + Foursquare集成示例。 在此示例中,我在此处创建了一个应用程序: https : //developer.foursquare.com/并使用CLIENT_IDCLIENT_SECRET来调用Foursquare REST API。

有帮助吗?

我收到以下错误:

接收的码:JMGKOSW4RGUPDXCNVQEN42K34UQKHMNGQIAUFY1WLGAMMMEN POSTING:收稿ACCESS_TOKEN:[L3PM3PJFRJAELBM4H3LQ431QGGEIN13RLKPJKNAFFARHT20F] { “的access_token”: “L3PM3PJFRJAELBM4H3LQ431QGGEIN13RLKPJKNAFFARHT20F”}无法访问资源:400 { “元”:{ “代码”:400, “错误类型”: “invalid_auth”,“errorDetail “:”缺少访问凭据。有关详细信息,请参阅https://developer.foursquare.com/docs/oauth.html。“,”requestId“:”59f225be4434b957cad65338“},”response“:{}}

我使用了以下内容:

 AUTHORIZATION_URL = "https://foursquare.com/oauth2/authenticate"; ACCESS_TOKEN_URL = "https://foursquare.com/oauth2/access_token"; 

我使用下面的代码,但看起来像API调用中的一些问题。 请指导

 private String getAccessToken(String authorizationCode) throws OAuthSystemException, OAuthProblemException { OAuthClientRequest request = OAuthClientRequest .tokenLocation(ACCESS_TOKEN_URL) .setGrantType(GrantType.AUTHORIZATION_CODE) .setClientId(CLIENT_ID) .setClientSecret(CLIENT_SECRET) .setRedirectURI(REDIRECT_URL) .setCode(authorizationCode) .buildQueryMessage(); //create OAuth client that uses custom http client under the hood OAuthClient oAuthClient = new OAuthClient(new URLConnectionClient()); OAuthAccessTokenResponse oAuthResponse = oAuthClient.accessToken(request); System.out.println("POSTING: "+request.getBody()); System.out.println("Received ACCESS_TOKEN: [ "+oAuthResponse.getAccessToken() + "]"); System.out.println(oAuthResponse.getBody()); request= new OAuthBearerClientRequest("https://api.foursquare.com/v2/venues/categories"). setAccessToken(oAuthResponse.getAccessToken()). buildBodyMessage(); OAuthClient client = new OAuthClient(new URLConnectionClient()); OAuthResourceResponse resourceResponse= client.resource(request, "GET", OAuthResourceResponse.class); if (resourceResponse.getResponseCode()==200){ logger.debug("HTTP OK"); System.out.println(resourceResponse.getBody()); return resourceResponse.getBody(); } else{ System.out.println("Could not access resource: " + resourceResponse.getResponseCode()+ " " + resourceResponse.getBody()); return null; } }