2017-06-09 3 views
2

Ich bin bereit, einen bestimmten Text in 3 verschiedenen Sprachen zu übersetzen, mithilfe von Microsoft Translator API. Ich baute es und offenbar die Verbindung I erhalten, die mir Übersetzung Pausen fahren sollte:Übersetzung mit Microsoft Translator API Timeout

https://api.datamarket.azure.com/Data.ashx/Bing/MicrosoftTranslator/v1/Translate?Text=%27Osteopathy%27&From=%27en%27&To=%27nl%27&$format=Raw&$top=100

versuchte ich es auch in meinem Terminal mit Curl, mit Genehmigung, aber es scheint, dass keine Antwort wird gesendet:

$ curl -H 'Authorization: Basic ***my authorization_key encoded in base64***' 'https://api.datamarket.azure.com/Data.ashx/Bing                          /MicrosoftTranslator/v1/Translate?Text=%27Osteopathy+for+Babies%27&From=%27en%27&To=%27nl%27&$format=Raw&$top=100' 

Die Antwort von Microsoft Translator kommt nicht. Es läuft einfach ab.

Das gleiche Stück Code arbeitete vor ein paar Wochen.

Was könnte die Ursache sein? Wie behebe ich das?

Antwort

4

Ich versuchte die gleiche Anfrage wie Sie und ich bekomme eine Antwort vom Server zurück, aber es ist ein 403 verboten. Ich kann nicht darüber spekulieren, warum der Code nicht mehr funktioniert, aber wenn Sie auch einen 403 zurückbekommen, könnte es sich lohnen, den Schlüssel zu aktualisieren, er könnte irgendwie abgelaufen sein. Ansonsten hat sich das Verhalten der API auf eine brechende Art und Weise geändert, es ist schwer ohne offizielle Dokumentation zu sagen.

Sie könnten jedoch versuchen, die Microsoft Cognitive Services API, es dauerte etwa 5 Minuten zu Setup. Sie müssen OAuth-Bearer-Token anstelle von Basic Auth verwenden, aber das ist auf jeden Fall sicherer.

Setup-docs https://www.microsoft.com/en-us/translator/getstarted.aspx

ein Token http://docs.microsofttranslator.com/oauth-token.html

Und einige Code-Beispiele Erste auf GitHub unter MicrosoftTranslator/HTTP-Code Proben

+0

Ich habe einen Übersetzer hinzugefügt API-Abonnement Ich habe 2 verschiedene Zugangsschlüssel und eine Subskriptions-ID, aber ich bin nicht der, der den alten AccountKey ersetzen sollte. Ich verstehe aus Ihrer Antwort, dass ich ein OAUTH-Token generieren sollte, aber ich bin mir nicht sicher, wie ich das tun soll und wo ich das verwenden soll. Kannst du mir bitte helfen? –

1

Azure Datamarket geschlossen wurde - mehr Informationen gibt es hier über Umzug nach Azure: https://translatorbusiness.uservoice.com/knowledgebase/articles/1078534-action-required-before-april-30-2017-microsoft-t

+0

Bitte posten Sie keine Antworten, die _only_ nur einen Link zu einer externen Ressource sind. Wenn diese Verbindung unterbrochen wird, wird Ihre Antwort ungültig. Das Veröffentlichen von Links zu anderen Ressourcen wird empfohlen. Sie sollten jedoch auch Informationen zu relevanten Informationen aus dieser externen Ressource oder aus anderen Gründen in Ihren Beitrag einfügen. Bitte lesen Sie [Dieser Meta-Beitrag] (https://meta.stackexchange.com/a/8259/360627), um mehr darüber zu erfahren, warum dies im Allgemeinen verpönt ist und als off-topic angesehen werden kann. – GrumpyCrouton

+0

Danke, Rosa. In der Tat besteht die Lösung darin, die Microsoft Translator API nach Azure zu migrieren. Ich habe diesen Prozess gestartet und hoffe, dass alles gut geht. Für das kostenlose Konto gelten einige Einschränkungen. –

Verwandte Themen