Azure 翻译 api 在从 arangoDB 移交数据时不提供结果

Azure tranlation api don't deliver results while handover data from arangoDB

我在 azure 翻译 api 电话中收到 return 时遇到了一些困难。 我的代码基于此代码 https://github.com/MicrosoftTranslator/PythonConsole 并且运行良好。

我还有一个带有一些测试数据的arangoDB。哪个有效并给我这个:Result on db test

但是,如果我将两者结合如下:

from xml.etree import ElementTree
from auth import AzureAuthClient
from arango import ArangoClient
import requests

client = ArangoClient(
    protocol='http',
    host='localhost',
    port=32768,
    username='root',
    password='password',
    enable_logging=True
)
db = client.database('testdb')
test = db.collection('testcol')

def GetTextAndTranslate(finalToken):

    fromLangCode = "en"
    toLangCode = "de"
    textToTranslate = " "

    for t in test:
        #text to translate
        textToTranslate = t['name']

        # Call to Microsoft Translator Service
        headers = {"Authorization ": finalToken}
        translateUrl = "http://api.microsofttranslator.com/v2/Http.svc/Translate?text={}&to={}".format(textToTranslate, toLangCode)

        translationData = requests.get(translateUrl, headers = headers)
        # parse xml return values
        translation = ElementTree.fromstring(translationData.text.encode('utf-8'))
        # display translation if needed
        print (translation.text)


if __name__ == "__main__":
    #Add your client secret in the next line 
    client_secret = 'azurepassword'
    auth_client = AzureAuthClient(client_secret)
    bearer_token = 'Bearer ' + auth_client.get_access_token()

我一无所获。控制台需要不到一秒钟的时间,然后我可以在终端上输入新命令。但是没有显示结果,也试过把它放到一个文件中。 Azure 告诉我我调用了 API,但我看不到那里处理了什么。

感谢您的帮助!

我试图测试您调用 Azure 翻译器的代码 API,但我发现您代码的翻译器部分工作正常,Arango 部分也工作正常。根据你的代码对我来说不完整,我想唯一的问题是函数 GetTextAndTranslate(finalToken) 应该定义为 GetTextAndTranslate(test, finalToken) 可以传递参数 test 集合,如下所示。

def GetTextAndTranslate(test, finalToken):
    # Your code
    ........

if __name__ == "__main__":
    client = ArangoClient(
        protocol='http',
        host='localhost',
        port=32768,
        username='root',
        password='password',
        enable_logging=True
    )
    db = client.database('testdb')
    test = db.collection('testcol')
    #Add your client secret in the next line 
    client_secret = 'azurepassword'
    auth_client = AzureAuthClient(client_secret)
    bearer_token = 'Bearer ' + auth_client.get_access_token()
    GetTextAndTranslate(test, bearer_token)

希望对您有所帮助。有任何更新,请随时告诉我。