2017-05-25 123 views
0

我試圖獲取使用谷歌API的聯繫人名單,我都試過了,谷歌聯繫人API 401需要授權的Android

String url = "https://www.google.com/m8/feeds/contacts/default/full"; 

JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.GET, url, null, 
     new Response.Listener<JSONObject>() { 
      @Override 
      public void onResponse(JSONObject response) { 
       Log.d("response",response.toString()); 
      } 
     }, new Response.ErrorListener() { 

    @Override 
    public void onErrorResponse(VolleyError error) { 
     Log.d("error",error!=null?error.getMessage():"unknown error"); 
    } 
}); 

但我正在逐漸401。任何幫助將不勝感激。謝謝。

回答

0

401錯誤與401: Invalid Credentials有關。您需要使用OAuth進行授權。

按照Authorizing requests with OAuth 2.0

請求的谷歌聯繫人API進行非公開的用戶數據必須被授權 通過身份驗證的用戶。

的OAuth 2.0用戶 的授權過程的細節,還是「流」也會略有不同的你寫什麼樣的應用。 以下一般流程適用於所有應用類型:

  1. 當你創建你的應用程序,你與谷歌註冊。然後,Google會提供您稍後需要的信息,例如客戶端ID爲 和客戶端密碼。
  2. 在Google API控制檯的服務窗格中激活Google Contacts API。 (如果它未在控制檯中列出,則跳過此步驟。)
  3. 當您的應用程序需要訪問用戶數據時,它會要求Google訪問特定的範圍。通過 訪問某些用戶數據的公開申請必須通過審查。如果您的應用出現 錯誤,請使用我們的OAuth開發人員 驗證表單提交請求。對於個人使用的應用程序和那些你正在測試, 加入谷歌風險組訪問權限通過未經審覈的應用程序, 它允許你批准與您的個人和測試 賬戶的數據訪問。該組的成員可以授予未經驗證的應用訪問其數據的 。有關更多 信息,請參閱Google API服務用戶數據政策。

公衆可獲得的訪問某些用戶數據的應用程序必須通過 通過審查。如果您的應用出現訪問錯誤,請使用我們的OAuth開發者驗證表單提交請求 。

  1. Google向用戶顯示OAuth對話框,要求他們授權您的應用程序請求其某些數據。如果用戶 批准,那麼Google會爲您的應用程序提供短期訪問令牌 。
  2. 您的應用程序請求用戶數據,將訪問令牌附加到請求。
  3. 如果Google確定您的請求和令牌有效,它會返回請求的數據。
+0

我已經從Google API控制檯啓用了聯繫人API,並且我還添加了所需的範圍。出現OAuth對話框,之後我也獲得了訪問令牌。但是當我嘗試獲取聯繫人後,然後發生401問題.. –

+0

你能建議我如何獲得Google+圈子和他們的追隨者?這也可以解決我的問題...... –