2017-02-10 4 views
2

Ich baue Alexa Skill für Google Kalender. Der clientseitige Code funktioniert wie erwartet auf dem lokalen Computer, da ich den lokalen Computer mithilfe des Links authentifizieren kann. Aber wenn ich den Code auf AWS Lambda vertreibe, kann ich mich nicht authentifizieren, da ich über die AWS-Konsole keinen Code eingeben kann.Wie oAuth Google API von Lambda AWS?

Ich bekomme Probleme bei der Einrichtung der Authentifizierung von Google Kalender-API bei der Bereitstellung auf AWS Lambda.

Diese Dokumentation nicht viel Google Implementing Server Side Authentication

Antwort

1

Du musst mir hilft in here 2 angegebenen Schritte tun, wenn Sie richtig folgen Sie dies getan wird erhalten.

Zuerst (nur beim ersten Mal) benötigen Sie Ihr Projekt einrichten und laden Sie die GOOGLE APPLICATION CREDENTIALS Sie innen mit einer JSON-Datei mit Auth Informationen führen, können Sie es

Jetzt project.json annehmen nennen werden Sie müssen einige Befehle ausführen, um Zugriffstoken zu erhalten, herunterladen und installieren Cloud SDK, um Zugriff auf diese Befehle zu haben.

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

dann

gcloud auth print-access-token 

Sie Ihren Schlüssel an dieser Stelle bekommen, jetzt können wir es im nächsten Schritt verwenden:

Zweitens kann man eine Übersetzung API-Anfrage: (wie ich tat es und mit python-Anforderungen getestet)

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. 

Hoffe, es hilft.

+2

Wird dieses Token für immer oder nur für eine begrenzte Zeit gut sein? – NealWalters

+0

nicht vorher, jetzt verfallen sie und das Datum kommt mit der 'gcloud' Antwort. – panchicore