![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Ich habe es herausgefunden - sollte es funktionieren?
Hier ist so etwas wie dashttps://cloud.yandex.ru/docs/speechkit/tts/request
rechts )
Eine ausführliche Dokumentation finden Sie auf der IBM-Website.
Das ist eine große Hilfe für Sie. Aber leider hat IBM keine russischsprachige Stimme.
Eine ausführliche Dokumentation finden Sie auf der IBM-Website.
Das ist eine große Hilfe für Sie. Aber leider hat IBM keine russischsprachige Stimme.
und in dieser Dokumentation ist alles kristallklar. Sowohl curl als auch postman sind einfach zu konfigurieren und erhalten einen korrekten Audiostream, aber nicht WebRequest! ) Das ist das Problem, das seit der fünften Seite dieses Threads diskutiert wird )))))
Authentifizierung in Watson-Diensten
Zuletzt aktualisiert: 2019-12-12Control auf GitHub: Dokumentation öffnen | Thema bearbeiten
Sie verwenden IBM® Cloud Identity and Access Management (IAM), um authentifizierte Anfragen an öffentliche IBM Watson™-Dienste zu senden. Mit IAM-Zugriffsrichtlinien können Sie den Zugriff auf mehr als eine Ressource mit einem einzigen Schlüssel zuweisen. Darüber hinaus können ein Benutzer, eine Dienst-ID und eine Dienstinstanz mehrere API-Schlüssel enthalten.
IBM Cloud Pak Add-ons verwenden einen anderen Authentifizierungsmechanismus für Daten. Weitere Informationen finden Sie in der Dokumentation zu Ihrem Add-In.
Berechtigungsnachweise
Um den Dienst über seine API zu authentifizieren, übergeben Sie Ihre Anmeldedaten an die API. Sie können ein Überbringer-Token im Autorisierungs-Header oder im API-Schlüssel übergeben.
Führen Sie die Authentifizierung mit einem IAM-Token durch.
IAM-Tokens sind temporäre Berechtigungsnachweise, die 60 Minuten lang gültig sind. Wenn der Token abläuft, generieren Sie einen neuen Token. Token können für den vorübergehenden Zugang zu Ressourcen nützlich sein. Weitere Informationen finden Sie unter Erzeugen eines IBM Cloud IAM-Tokens mithilfe eines API-Schlüssels.
Führen Sie die Authentifizierung mit einem IBM Cloud API-Schlüssel, einem Service-ID-API-Schlüssel oder einem service-spezifischen API-Schlüssel durch.
API-Schlüssel sind einfach zu verwenden und haben kein Verfallsdatum. Jeder mit einem gültigen Schlüssel kann auf die Ressource zugreifen. Sie können separate API-Schlüssel für verschiedene Benutzer, verschiedene Anwendungen oder zur Unterstützung von Schlüsselrotationsszenarien erstellen. Sie können API-Schlüssel von der Konsole aus widerrufen, ohne dass andere API-Schlüssel oder der Benutzer beeinträchtigt werden.
Für Tests und Entwicklung können Sie den API-Schlüssel direkt übergeben. Wenn Sie jedoch nicht das Watson SDK verwenden, sollten Sie für die Produktion ein IAM-Token verwenden. Wenn Sie den API-Schlüssel übergeben, sucht der Dienst nach den API-Schlüsselinformationen, was die Leistung beeinträchtigen kann. Weitere Informationen finden Sie unter Aufrufen der IBM Cloud-Service-APIs.
Die Watson SDKs unterstützen beide Methoden. Für weitere Informationen siehe. Der Abschnitt Authentifizierung im API-Referenzhandbuch für Ihren Dienst und Ihr SDK.
Nutzer des Premium-Tarifs können auch IBM® Key Protect für IBM Cloud™ verwenden, um den Datenzugriff zu verwalten. Weitere Informationen finden Sie in der IBM® Key Protect. Schutz sensibler Informationen im Watson-Dienst.
Über API-Schlüssel
Die Watson-Dienste unterstützen drei Arten von API-Schlüsseln:
IBM Cloud API-Schlüssel sind mit der Benutzeridentität verknüpft. Nur der mit einem Schlüssel verbundene Benutzer kann ihn entfernen. Derselbe IBM Cloud API-Schlüssel kann für den Zugriff auf verschiedene Dienste verwendet werden. Weitere Informationen zur Arbeit mit IBM Cloud-API-Schlüsseln finden Sie unter Verwalten von Benutzer-API-Schlüsseln.
Dienst-ID API-Schlüssel
Service-Kennungen ermöglichen den Zugriff auf Ihre IBM Cloud-Services über Anwendungen, die sowohl innerhalb als auch außerhalb der IBM Cloud gehostet werden. API-Schlüssel, die mit Dienstkennungen verbunden sind, ermöglichen den mit dieser Dienstkennung verbundenen Zugriff. Weitere Informationen zu Dienst-ID-Schlüsseln finden Sie unter Verwalten von Dienst-ID-Schlüsseln. Abschnitt zur Verwaltung des API-Schlüssels der Service-ID.
Bewährte Praktiken für API-Schlüssel
Bewahren Sie Ihre API-Schlüssel sicher auf, um das Risiko einer öffentlichen Offenlegung von Anmeldedaten zu verringern, die Ihr Konto und Ihre Anwendungen gefährden könnten. Befolgen Sie diese Richtlinien, um Ihre API-Schlüssel sicher zu halten.
Weisen Sie die restriktivste Servicerolle zu, die für die von Ihnen benötigte Zugriffsebene geeignet ist.
Weisen Sie z. B. die Dienstrolle Leser für Aufrufe aus der Anwendung an GET-API-Methoden zu. Diese Rolle hat nur Lesezugriff, kann also keine Ressourcen erstellen oder bearbeiten.
Fügen Sie den API-Schlüssel nicht direkt in den Code ein.
Im Code eingebettete API-Schlüssel können von Ihren Nutzern abgerufen werden. Anstatt API-Schlüssel in den Code einzubetten, speichern Sie sie entweder in Umgebungsvariablen oder in Dateien außerhalb Ihres Quellkontrollsystems.
Speichern Sie den API-Schlüssel nicht in Dateien innerhalb des Quellcode-Kontrollsystems Ihrer Anwendung.
Wenn Sie API-Schlüssel in Dateien speichern, speichern Sie die Dateien außerhalb des Quellcodes Ihrer Anwendung. Diese Praxis ist wichtig, wenn Sie ein öffentliches Quellcode-Kontrollsystem wie GitHub verwenden.
Wiederherstellung oder Rotation der API-Schlüssel.
Erstellen Sie in regelmäßigen Abständen neue Schlüssel oder drehen Sie sie um. Und vergessen Sie nicht, nicht mehr benötigte Schlüssel zu löschen.
Zitat:
Führen Sie die Authentifizierung mit einem IBM Cloud-API-Schlüssel, einem Service-ID-API-Schlüssel oder einem service-spezifischen API-Schlüssel durch.
sagt, dass Sie den richtigen Schlüssel für die Authentifizierung auswählen sollen. Das heißt, dieses Verfahren kann nicht ignoriert werden.
Frage an TC - woher haben Sie den Schlüssel?
Offenbar besteht das Problem nur bei der Genehmigung. Dieser Dienst ist sehr streng bei der Nutzung seiner Dienste. Es gibt viele Nuancen in ihrer Politik, und es ist unwahrscheinlich, dass ein freier Ansatz funktioniert. Sie könnten sich an das Support-Team wenden und fragen, wie man sich richtig anmeldet.
Peter, ich danke dir!
Es geht nicht um IBM. Alles funktioniert korrekt mit curl, postman. Die Autorisierung wird nur für einen Dienst durchgeführt, und zwar mit apikey und keyID.
Das Problem liegt in WebRequest, und zusätzliche Links zu TTS-Anbieterseiten werden hier leider nicht helfen.
Ein funktionierendes Beispiel für den Abruf binärer Informationen von ähnlichen Diensten wie Microsoft TTS, Google TTS und Yandex TTS mit WebRequest ist hilfreich.
Der Trick besteht darin, die Syntax für WebRequest korrekt zu schreiben. Die MQL5-Referenz hat nur ein Beispiel für WebRequest, und das ist ein Stolperstein! )))
Sehen Sie, wie viele Beispiele es auf der IBM-Website für verschiedene Skriptsprachen gibt? Curl, Java, Python
MQL5 ist dort nicht aufgeführt, und ich muss auf den Schlamm eines Getränks tippen, das auch nur entfernt an Kakao erinnert.
Hier auf dieser Website - ich habe eine Textdatei hochgeladen - und eine .wav-Datei erhalten
Die Frage ist, wie man das automatisch organisieren kann!?https://audio.online-convert.com/convert-to-wav
Nur Englisch
Peter, ich danke dir!
Es geht nicht um IBM. Alles funktioniert korrekt mit curl, postman. Die Autorisierung wird nur für einen Dienst durchgeführt, und zwar mit apikey und keyID.
Das Problem liegt in WebRequest, und zusätzliche Links zu TTS-Anbieterseiten werden hier leider nicht helfen.
Ein funktionierendes Beispiel für das Abrufen binärer Informationen von ähnlichen Diensten wie Microsoft TTS, Google TTS und Yandex TTS mit Hilfe von WebRequest ist hilfreich.
Der Trick besteht darin, die Syntax für WebRequest korrekt zu schreiben. Die MQL5-Referenz hat nur ein Beispiel für WebRequest, und das ist ein Stolperstein! )))
Sehen Sie, wie viele Beispiele es auf der IBM-Website für verschiedene Skriptsprachen gibt? Curl, Java, Python
MQL5 ist dort nicht aufgeführt, und ich muss auf ein schlammiges Getränk tippen, das vage an Kakao erinnert.
Tatsache ist, dass MQL5 eine Sprache für die Entwicklung von proprietären Anwendungen ist, die verkauft werden sollen. Die allgemeine Weltpolitik gegenüber der Verwendung von kostenlosen Inhalten oder Diensten in kostenpflichtiger Software ist anders. Ich habe den Verdacht, dass Webrequest aus irgendeinem Grund nicht von IBM geladen wird und immer wieder ein 401-Fehler auftaucht.
Entweder ist die Anfragesyntax oder der API-Schlüssel falsch.
Entweder wird die Anfrage von der MT5-Plattform, die für die kommerzielle Produktentwicklung verwendet wird, nicht unterstützt. 3.
3. oder die WebRequest-Funktion arbeitet auf eine bestimmte Art und Weise und ist intern auf eine solche Verwendung beschränkt.
4. Oder, ein anderes Problem...
Der Punkt ist, dass MQL5 eine Sprache für die Entwicklung proprietärer Anwendungen ist, die verkauft werden sollen. Die allgemeine Weltpolitik gegenüber der Verwendung von kostenlosen Inhalten oder Diensten in kostenpflichtiger Software ist anders. Ich habe den Verdacht, dass Webrequest aus irgendeinem Grund nicht von IBM geladen wird und immer wieder ein 401-Fehler auftaucht.
Entweder ist die Anfragesyntax oder der API-Schlüssel falsch.
Entweder wird die Anfrage von der MT5-Plattform, die für die kommerzielle Produktentwicklung verwendet wird, nicht unterstützt. 3.
3. oder die WebRequest-Funktion arbeitet auf eine bestimmte Art und Weise und ist intern auf eine solche Verwendung beschränkt.
4. Entweder, ein anderes Problem...
ein anderes Problem. Wie man in Fachkreisen sagt, "da stimmt etwas nicht" ))).
Etwas weiter oben habe ich ausführlich beschrieben, wie WebRequest einfriert, aber dennoch einen Stream empfängt. Der Stream erreicht die Datei und erweist sich als fehlerhaft. Vielleicht schreibe ich es falsch in die Datei, aber höchstwahrscheinlich wird das Char-Array im Moment des Deadlocks mit fremden Informationen gefüllt.
Damit sollten wir uns jetzt befassen