我已經用Python編寫了幾個Google Cloud Endpoints,並且要求followed the directions要求對它們的調用來自使用Firebase進行身份驗證的用戶。我需要使用JavaScript從Web應用程序調用端點,但似乎無法使身份驗證正常工作。如何從Javascript調用Firebase身份驗證的雲端點?
我想使用Google APIs client(gapi),它具有從提供的發現文檔動態生成客戶端庫的額外好處。當我嘗試使用gapi客戶端時,我可以打電話給我的API,但我得到一個HTTP 401作爲響應,以及我的python源返回的HTTP未授權消息。
谷歌有關該主題的文檔相當稀少。我從one tutorial on the subject收集到可以使用標準的Ajax調用,但我沒有看到有關如何從Gapi調用Firebase身份驗證端點的任何文檔。我目前的擔心是,gapi客戶端可能尚未設置(尚)允許使用發現文檔,並且還允許將Authorization
標頭設置爲Firebase身份驗證所需。
我試圖甚至有可能嗎?
任何建議,將不勝感激。也許使用gapi客戶端調用Firebase Authenticated端點是不可能的。
這裏是我的GAPI js代碼一個大致的輪廓:
function(token) {
gapi.client.init({
apiKey: 'MY_API_KEY',
discoveryDocs: [MY_DISCOVERY_DOC_URL'],
clientId: 'MY_WEB_CLIENT_ID',
scope: 'profile'
}).then(function(){
return gapi.client.my.server.api.call();
}).then(function(response){
console.log(response.result.data)
}, function(reason){
console.log('Error: ' + reason.result.error.message)
});
}
感謝您回答這樣一個老問題。我通過使用類似於您的選項#2的Ajax調用來解決問題。也許現在我會回去使用gapi調用,因爲它似乎已經更新了庫。 – HondaGuy