Es ist eine durcheinandergebrachte Geschichte, aber ** Ich war durch alte Informationen im Netz verwirrt und habe sie einen halben Tag lang mit einem Papageien-Rückgabe-Bot zerquetscht **, also werde ich sie mit Reue aufschreiben.
Zunächst wurden die folgenden Schritte durchgeführt.
Für bestimmte Verfahren und Codes habe ich auf die Artikel und Blog-Artikel von qiita verwiesen, die bei der Suche nach "LINE bot Python" angezeigt werden. Die folgenden Blog-Artikel wurden in der Referenz leicht verständlich organisiert, daher werde ich hier auf das detaillierte Verfahren verzichten.
Erstellen Sie einen LINE-Bot mit der LINE-Messaging-API + Python + Heroku
Bitte beachten Sie jedoch, dass ** die neuesten Spezifikationen nicht die Einstellung "Fixie" ** erfordern, wie unten beschrieben. (Nicht auf diesen Blog-Artikel beschränkt, es gibt immer noch einige Artikel, die in der Suche einen hohen Rang einnehmen und so geschrieben sind, dass sie Fixie-Einstellungen erfordern.)
...... Nun, ich habe es so implementiert und mit dem Bot gesprochen, aber es gibt den Papagei nicht zurück.
Bei der Überprüfung durch Klicken auf die Schaltfläche "Überprüfen" der Webhook-URL im Verwaltungsbildschirm von LINE Developers wurde die Fehlermeldung "Der Webhook hat einen anderen HTTP-Statuscode als 200 zurückgegeben" angezeigt.
Überprüfen Sie die Protokolle mit `heroku logs -t`. main.py (Bot-App) lief und schien einen 500-Fehler zurückzugeben. Dies scheint zu bestimmen, dass das über die Schaltfläche Überprüfen gesendete replyToken kein gültiges replyToken ist. Der Referenzartikel ist unten.Nach dem Hinzufügen des Codes, der auf diesen Artikel verweist, wird die Anforderung über die Schaltfläche Überprüfen jetzt akzeptiert.
Selbst wenn ich auf meinem Smartphone "A" oder "Test" sende, funktioniert das Protokoll überhaupt nicht. ...... Nein, ist es nicht zu viel Fehler? Es ist so, aber Use Webhook wurde deaktiviert. Als ich es einschaltete, wurde die Anfrage gesendet.
Sie können sich jedoch nicht mit dieser IP-Adresse verbinden! Ich bekomme den Fehler. Details werden in der "Ergänzung" unten beschrieben, aber ein Fehler ist aufgetreten, weil die Fixie-Einstellung fehlgeschlagen ist.
Wenn Sie mit Heroku einen LINE-Bot erstellen, setzen Sie Fixie trotzdem! Es gibt viele Artikel, in denen es heißt, aber wie Sie in den offiziellen FAQ unten sehen können, ** müssen Sie nach den neuesten Spezifikationen keine IP-Adresse angeben. Sie müssen Fixie also gar nicht erst verwenden. ** ** **
FAQ zu LINE BOT & Beacon-Entwicklern (von Zeit zu Zeit aktualisiert)
Muss ich die Server IP Whitelist registrieren?
Keine Registrierung erforderlich.
Wenn Sie Einschränkungen festlegen möchten, registrieren Sie sich einfach.
Wenn Sie es umgekehrt angeben, können Sie nur auf diese IP zugreifen. Wenn Sie also eine Fehlermeldung erhalten, stellen Sie sicher, dass die falsche IP-Adresse nicht in dieser Liste enthalten ist.
Selbst wenn Sie die ausgehende IP von Fixie auflisten, ist es in Ordnung, wenn Sie von dort aus eine korrekte Verbindung herstellen können. In meinem Fall konnte ich, obwohl ich Fixie eingestellt habe, keine Anfrage von einer festen IP senden, und wenn ich mir das Fehlerprotokoll ansehe
"message": "Access to this API denied due to the following reason: Your ip address [*.**.***.***] is not allowed to access this API. Please add your IP to the IP whitelist in the developer center."
(Der Teil [*. **. ***. ***] ändert sich bei jedem Neustart der App). Wahrscheinlich, weil ich die Beschreibung zur Verwendung des Proxys nicht in den Code der Bot-App selbst eingefügt habe.
Das Folgende ist ein Referenzartikel für PHP. Ich denke, es gibt wahrscheinlich eine äquivalente Beschreibung in Python, aber ich werde diesmal nicht darauf eingehen. .. ..
[50: LINE BOT API] Aum BOT mit PHP + Heroku
Die Beschreibung, die den Proxy auf der PHP-Seite durchläuft, fehlte. Ich habe die URL des von Fixie mit curl_setopt erstellten Proxys festgelegt und es hat einwandfrei funktioniert.
Die Standardnachricht "Vielen Dank für Ihre Nachricht! Dieses Konto akzeptiert leider keine Einzelanfragen. Bitte warten Sie auf die nächste Zustellung" lautet "LINE Official Account Manager-Antworteinstellungen> Erweiterte Einstellungen>" Es sollte entsprechend in der Antwortnachricht deaktiviert werden (ich dachte, es würde zuerst aufgrund eines Fehlers herauskommen ...).
Recommended Posts