2017-02-10 155 views
2

我正在爲Google日曆構建Alexa技巧。客戶端代碼在本地計算機上按預期工作,因爲我可以使用鏈接對本地計算機進行身份驗證。但是,當我在AWS Lambda上部署代碼時,我無法進行身份驗證,因爲我無法通過AWS控制檯輸入代碼。如何從Lambda AWS獲取Google API?

當在AWS lambda上部署時,我在設置Google Calendar API 的身份驗證時遇到了麻煩。

本文檔並沒有多大幫助我 Google Implementing Server Side Authentication

回答

1

你要做的here指定的2個步驟,如果你遵循正確的,你會完成這件事。

首先,(僅在第一次),你需要設置你的項目和下載GOOGLE APPLICATION CREDENTIALS你會得到與身份驗證信息裏一個JSON文件,讓我們假設你怎麼稱呼它project.json

現在,您將需要執行一些命令來獲取訪問令牌,下載並安裝Cloud SDK以訪問這些命令。

gcloud auth activate-service-account --key-file=/home/panchicore/project.json 

然後

gcloud auth print-access-token 

你會在這一點上讓你的鑰匙,現在我們可以在接下來的步驟中使用它:

其次,做一個翻譯API請求:(我是怎麼做它並用python請求測試)

import requests 

key = "KEY GOT WITH gcloud auth print-access-token" 

headers = { 
    'Content-Type': 'application/json', 
    'Authorization': 'Bearer {}'.format(key) 
} 

url = 'https://translation.googleapis.com/language/translate/v2' 

data = { 
    'q': 'The quick brown fox jumped over the lazy dog.', 
    'source': 'en', 
    'target': 'es', 
    'format': 'text' 
} 

res = requests.post(url, json=data, headers=headers) 

print res.content 
>>> El rápido zorro marrón saltó sobre el perro perezoso. 

希望它有幫助。

+2

這個令牌永遠是好的,還是隻有有限的時間? – NealWalters

+0

不在之前,現在它們過期,並且日期附帶'gcloud'響應。 – panchicore

相關問題