2017-08-01 163 views
0

我使用我的客戶端ID和重定向URI從此直接網址獲取代碼; https://foursquare.com/oauth2/authenticateclient_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI如何從Foursquare獲取訪問令牌?

但我不能與其他服務做到這一點。我必須將此服務嵌入到我的Java應用程序中,然後獲取訪問令牌。我可以使用這個不同的選項,如果有另一種方式你知道獲取訪問令牌。你能幫我嗎?

+0

你的意思是你沒有實質性的服務器代碼? –

+0

應該有oauth java庫來幫助你解決這個問題。如果你只需要這個令牌一次,你可以使用像Postman這樣的工具 –

+0

我需要java源代碼來爲社交apis生成訪問令牌 - etc foursquare –

回答

0

Foursquare docs穿行的過程很詳細。有2個選項:

  • Web應用程序的代碼流
  • Web應用程序標記流程

這兩個選項都需要您設置通過Foursquare Developer site的應用程序。您需要爲Foursquare重新定向重定向網址。這通常是可公開訪問的網址,但locahost網址也適用於測試目的。

第一,代碼流,遵循標準的OAuth過程:

  1. 直接用戶(通常通過一個鏈接或按鈕來完成)至

    https://foursquare.com/oauth2/authenticate?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI` 
    
  2. 如果用戶接受,它們將被重定向回

    https://YOUR_REGISTERED_REDIRECT_URI/?code=CODE 
    
  3. 您的服務器交換它在步驟2中爲訪問令牌獲取的代碼。 ,以請求

    https://foursquare.com/oauth2/access_token?client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=authorization_code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI&code=CODE 
    
  4. 的響應將是JSON

    { access_token: ACCESS_TOKEN } 
    

此訪問令牌是你在找什麼。

第二種方法,令牌流是稍微容易:

  1. 誰願意來驗證

    https://foursquare.com/oauth2/authenticate?client_id=CLIENT_ID&response_type=token&redirect_uri=YOUR_REGISTERED_REDIRECT_URI 
    
  2. 如果用戶接受重定向用戶,他們將被重定向回

    https://YOUR_REGISTERED_REDIRECT_URI/#access_token=ACCESS_TOKEN 
    

這個access_token查詢參數是你要找的。