2017-11-21 2 views
0

Ich möchte eine Anfrage an this Amazon Alexa API senden.Wie autorisieren Sie für Amazons Alexa API?

Diese Seite enthält die letzten 50 Aktivitäten, die ich mit meinem Amazon Echo gemacht habe. Die Seite gibt JSON zurück. Bevor Sie diese Seite anfordern können, müssen Sie Ihr Konto autorisieren, damit die richtigen Cookies in Ihrem Browser gesetzt werden.

Wenn ich etwas tun einfach wie:

const rp = require("request-promise"); 

const options = { 
    method: "GET", 
    uri: "https://alexa.amazon.com/api/activities?startTime=&size=50&offset=-1", 
    json: true 
}; 

rp(options).then(function(data) { 
    console.log(data); 
}).catch(function(err) { 
    console.log(err); 
}); 

kann ich eine GET-Anfrage an diese URL senden. Das funktioniert gut, außer Amazon hat keine Ahnung, dass ich die Anfrage absende, weil ich meine NodeJS-Anwendung nicht autorisiert habe.

Ich habe ~ 10 Cookies erfolgreich von meinem normalen Browser in einen Inkognito-Tab kopiert und auf diese Weise autorisiert, daher weiß ich, dass das Kopieren der Cookies funktioniert. Nach dem Hinzufügen von ihnen alle mit tough-cookie, hat es leider nicht funktioniert. Ich wurde immer noch auf die Anmeldeseite weitergeleitet (entsprechend der Fehlerreaktion).

Wie autorisiere ich für diese API, damit ich meine Anfragen senden kann?

Antwort

0

Ich habe auch dafür eine Lösung gesucht. Die beste Idee, die ich habe, ist account linking zu verwenden, aber ich habe es noch nicht versucht. Sieht aus wie ASK-CLI hat Schnittstelle für diese auch, aber ich kann es nicht herausfinden, wie man es benutzt (was ist diese URL?). Es ist nicht einfach, ein Konto mit dem Server eines Drittanbieters zu verknüpfen, aber es sollte nicht so kompliziert sein, es mit der API von json zu verbinden.

+0

Danke für die Antwort! Hast du eine Idee, wie ich es vielleicht könnte? Ich habe auf Kontoverknüpfung geschaut, aber ich möchte nur mein eigenes Konto. Das hat nichts mit Alexa zu tun, außer dass sie Anfragen an Amazons API sendet. – MortenMoulder

+0

Ich arbeite an einer Fähigkeit, so dass Kontoverknüpfung für mich Sinn macht, da ich Benutzerinformationen (d. H. Json) extrahieren muss, muss der Benutzer mir die Erlaubnis geben. Amazon hält die Informationen sehr eng und ist sehr schwierig, Informationen von ihnen ohne Authentifizierung zu greifen. Die andere Art, die ich dachte, ist, ein automatisiertes Login-Tool wie Python's Mechanize zu verwenden, ist aber ein Hack. Ich werde versuchen, das Konto verlinken und sehen, wie es geht. – pip

+0

Ich habe gerade versucht, auf den JSON von der API über Kontoverknüpfung zu Amazon OA Server zugreifen - auch das funktioniert nicht – pip

Verwandte Themen