簡體   English   中英

從arangoDB移交數據時,Azure轉換API不提供結果

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

我在獲得天藍色的翻譯API調用的回報方面有些掙扎。 我的代碼基於此代碼https://github.com/MicrosoftTranslator/PythonConsole,並且運行良好。

我還有一個帶有一些測試數據的arangoDB。 它的工作原理,並給我以下信息: 數據庫測試結果

但是,如果我將兩者結合如下:

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 Translator 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)

希望能幫助到你。 任何更新,請隨時讓我知道。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM