我正在嘗試在Android應用上實現Foursquare Native OAuth。我遵循foursquare-oauth-library示例,併爲用戶成功生成了access_token。然後,我們的應用程序的祕密後,Foursquare的建議沒有被存儲在應用程序的任何地方,而是執行服務器端授權代碼/ access_token交流我正在我的服務器上進行調用,但每次我這樣做時會得到一個redirect_uri_mismatch錯誤。Foursquare重定向uri與原生Android OAuth登錄不匹配
AuthCodeResponse codeResponse = FoursquareOAuth.getAuthCodeFromResult(resultCode, data);
之後,我發送授權碼從我的Android應用程序,以我的rails服務器:
如示例應用程序指定我收到授權碼。我假設access_token應該在https://developer.foursquare.com/overview/auth#code的第3步之後獲得,但是我得到了redirect_uri_mismatch響應。
我用我的導軌服務器上Nestful發送Foursquare的我對的access_token要求:
response = Nestful.post 'https://foursquare.com/oauth2/access_token',
client_id: ENV_CONFIG['foursquare_client_id'],
client_secret: ENV_CONFIG['foursquare_client_secret'],
grant_type: 'authorization_code',
redirect_uri: ENV_CONFIG['redirect_uri'],
code: params[:code]
@token = response['access_token']
的迴應是:
{"error":"redirect_uri_mismatch"}
我已經雙重檢查應用程序的配置在Foursquare上,在那裏我還設置了我生成的Android Hash Key,甚至嘗試將其作爲redirect_uri參數來生成接入令牌,但無濟於事。
任何想法,我可能做錯了什麼?