![](/img/trans.png)
[英]How to break for loop while handling API error so you don't lose all your data
[英]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.