2014-08-27 40 views
1

我想要兩個流程,在第一頁我只是要求用戶登錄。 那麼,如果他/她想要邀請的朋友,我想火的gapi.client.people.list方法和檢索可見圈名單。 正如我在兩個單獨的頁面上這樣做,我無法通過已認證的gapi對象。我不想再次觸發登錄流程,但如果我直接做gapi.client.load,它給了我一個錯誤說Daily unauthenticated usage limit exceeded任何方式在多個頁面上攜帶gapi.client對象?

function getFriends(e) 
{ 

    gapi.client.load('plus','v1', function(){ 
      //gapi.client.setApiKey("myKey"); 
      var request = gapi.client.plus.people.list({ 
        'userId': 'me', 
       'collection': 'visible' 
      }); 
      request.execute(function(people) { 
        console.log(people); 
        $('#googleFriends').empty(); 
        $('#googleFriends').append('Number of people visible to this app: ' + 
          people.totalItems + '<br/>'); 
        for (var personIndex in people.items) { 
          person = people.items[personIndex]; 
          $('#googleFriends').append('<img src="' + person.image.url + '">'); 
        } 
      }); 
    }); 
} 

這裏有解決方案嗎?我嘗試使用gapi.client.setApiKey,但不斷返回invalid key error。 我已閱讀並試圖瞭解谷歌快速入門教程但他們所說的people.list作爲登錄流程的一部分。

回答

1

如果已經簽訂入/用戶授權您的應用程序,你可以使用gapi.auth.authorize方法與已用於簽到,並immediate設置爲true相同client_idscope參數。

gapi.auth.authorize({ 
    client_id: 'your_client_id', 
    scope: 'your_scopes', 
    immediate: true 
}, function (authResult) { 
    // check authresult and then call getFriends 
}); 

這將通過身份驗證過程,而不需要任何用戶交互,然後gapi.client就能使授權的呼叫。您必須檢查回調中的回覆,以確保您確實得到了授權。

文檔:https://developers.google.com/api-client-library/javascript/reference/referencedocs#gapiauthauthorize

+0

所以點擊按鈕會觸發'gapi.auth.authorize'。我是否需要'gapi.client.load'。請原諒我的天真,如果它很明顯 – 2014-08-27 15:27:29

+0

是的,你需要調用'gapi.client.load'加載API特定的方法,否則你將無法調用'gapi.client.plus'方法。 – Scarygami 2014-08-27 15:30:21

+0

就像一個魅力,謝謝! – 2014-08-27 15:55:20

相關問題