2015-05-09 95 views
2

我在獲得oauth2令牌後向Google Contacts API發出以下請求。Google Contacts API 401需要授權

$.ajax({ 
     url: 'https://www.google.com/m8/feeds/contacts/[email protected]/full?access_token=' + authData.authorizationCode + '&alt=json', 
     dataType: "jsonp", 
     success:function(data) { 
        console.log((data)); 
       } 
      }); 

這將產生以下GET HTTP請求:

https://www.google.com/m8/feeds/contacts/[email protected]/full?access_token=4/95N2f8xA1XXXXXXXXXXXXXXQC3BtuuMbk.Aug-7c4GLLMZXmXvfARQvtgU5IVtmgI&alt=json&callback=jQuery111XXXXX1426XXX03&_=1431142848004 

但是谷歌迴應回來狀態代碼:401授權所需

回答

3

僅供參考我使用的授權碼,而不是訪問令牌來請求聯繫方式。因此,爲什麼我收到錯誤在這裏

圖顯示OAuth2流程: https://developers.google.com/identity/protocols/OAuth2WebServer

這是看到一個巨大的資源你的代碼實際上應該這樣做: https://developers.google.com/oauthplayground/

這是一個完整的例子使用谷歌的OAuth2以API的: http://www.9bitstudios.com/2013/05/using-oauth-2-0-for-google-apis/

下面代碼獲取的電子郵件聯繫人列表

$.ajax({ 
        url: 'https://www.google.com/m8/feeds/contacts/default/full?alt=json', 
        dataType: "jsonp", 
        data: {'access_token': authData.authorizationToken.access_token}, 
        success:function(data) { 
         var entryOfEmails = data.feed.entry; 
         for (var i = 0; i < data.feed.entry.length; i++) { 
           console.log(entryOfEmails[i].gd$email[0].address); 
          } 
        } 
       }); 
+0

我得到相同的錯誤....你在哪裏添加訪問令牌?你可以請提供代碼片段...我想花幾個小時.. –