2013-10-20 48 views
1

我試圖從使用Google +登錄按鈕登錄我的網站的訪問者檢索用戶數據,但我只是結束在javascript控制檯中顯示消息「TypeError:gapi.client is undefined」。嘗試檢索經過身份驗證的Google+用戶的電子郵件地址時獲取「gapi.client未定義」

因爲我不能確定我終於複製錯誤/粘貼從谷歌的例子代碼,可以在這裏找到:https://developers.google.com/+/web/people/#retrieve_an_authenticated_users_email_address

我改變的是客戶端ID(用於Web應用程序)的唯一的事。

而且我仍然得到相同的錯誤!

由於示例代碼不適用於我,我在想,也許我在Google API Console中的設置是錯誤的。我試圖按照指示:

  • Google+的API服務是活躍
  • 重定向的URI:無
  • JavaScript源設置爲localhost和實際生產 域。

也嘗試將示例代碼上傳到生產服務器,只是爲了查看這是否是本地環境問題,但我仍然得到相同的錯誤。

回答

7

必須包括腳本,包括除plusone腳本client API:

<script src="https://apis.google.com/js/client:plusone.js" type="text/javascript"></script> 

演示頁被錯誤地做這件事,我已經固定。

4
gapi.client.load('plus', 'v1', function() { 

    var request = gapi.client.plus.people.get({ 
     'userId': 'me' 
    }); 

    request.execute(function(response) { 
     console.log(response); 
    }); 
}); 
+0

謝謝你,它爲我工作。 – Offboard

0

這可能聽起來愚蠢..但有時候你只需要關閉並重新打開瀏覽器...

我幾乎嘗試了所有相關的SO問題中,幾乎所有的解決方案,毫無效果。

最後我決定看看它是否與另一個瀏覽器一起工作,它確實......因此我剛剛關閉並重新打開了我正在工作的瀏覽器。

我不知道爲什麼它不起作用。我沒有緩存請求,我每次都用ctrl-F5重新加載頁面,並且還禁用了開發工具中的緩存(用於開發工具正在使用時)。

相關問題