2017-03-11 36 views
0

我試圖從谷歌獲得用戶的聯繫方式(電子郵件,名稱)列表中的PhoneGap,但得到錯誤,如:獲取contactlis在PhoneGap的

There was an error in your request.

我的代碼:

$http({ 
    method: 'GET', 
    url: "https://www.google.com/m8/feeds/contacts/default/thin?alt=json&access_token=" + accessToken + "&max-results=500&v=3.0", 
    headers: { 
     'Content-Type': 'application/json' 
    } 
}). 
success(function(res) { 
    console.log("Success: " + JSON.stringify(res)); 

}). 
error(function(err) { 
    console.log("Error:" + err); 

}); 
+0

我試圖使一個請求使用相同的URL,並且使用cURL可以很好地工作,雖然請求的構建方式可能有所不同通過'$ http'比我所做的。您可以嗅出包括標頭的原始傳出HTTP請求(例如,使用Chrome中的網絡調試標籤)並將其粘貼到此處嗎? (一定要刪除'access_token') –

+0

@Blake O'Hare:我正在使用angularjs和phonegap – Ved

回答

0

access_token被授予沒有適當的API範圍。

進行身份驗證時,下列範圍之一必須包含:

  • 讀/寫:https://www.google.com/m8/feeds
  • 只讀:https://www.googleapis.com/auth/contacts.readonly

參考:https://developers.google.com/google-apps/contacts/v3/#authorizing_requests_with_oauth_20

+0

我已經登錄後獲取access_token。 – Ved

+0

錯誤代碼401,即'是錯誤。 – Ved

+0

我在說是否定義了變量。例如在你設置爲'var accesToken ='或者其他東西的代碼中有一個錯字。我只是非常可疑,因爲'...&access_token = undefined&...'會導致你提到的同樣的錯誤信息,這是我唯一無法測試的東西(我已經驗證了URL的其他部分是正確的) –