2017-02-10 11 views
2

私はAlexa SkillをGoogleカレンダー用に構築しています。リンクを使用してローカルマシンを認証できるので、クライアントサイドコードはローカルマシン上で期待どおりに動作します。しかし、AWS Lambdaにコードをデプロイすると、AWSコンソールからコードを入力できないため、認証できなくなります。ラムダAWSからGoogle APIを取得する方法は?

Google Calendar API の認証をAWSラムダに導入する際の設定に問題があります。

このドキュメントは、あなたがこれを成し遂げるだろう正確に従っている場合は、hereに指定された2つの手順を行う必要があり Google Implementing Server Side Authentication

答えて

1

私にはあまり役立ちません。

まず、(初回のみ)プロジェクトをセットアップしてダウンロードする必要がGOOGLE APPLICATION CREDENTIALSあなたが内部の認証情報を持つ1つの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

関連する問題