Python AZ 翻译请求未被授权,因为凭据丢失或无效
Python AZ translate The request is not authorized because credentials are missing or invalid
我正在使用 Python 3.8.3 并尝试使用 Azure Translation。基于 (https://docs.microsoft.com/nl-nl/azure/cognitive-services/Translator/quickstart-translate?pivots=programming-language-python) 的示例,我尝试为自己重新创建示例并最小化代码。
我创建了一个 Azure 资源(翻译)并在代码中复制了 key 和 endpoint。但是当我 运行 代码时,出现以下错误:
"code": 401000,
"message": "The request is not authorized because credentials are missing or invalid."
谁能解释一下我做错了什么以及如何解决这个问题!
我使用这个代码:
import os, requests, uuid, json
path = '/translate?api-version=3.0'
params = '&to=de&to=it'
constructed_url = "https://api.cognitive.microsofttranslator.com" + path + params
headers = {
'Ocp-Apim-Subscription-Key': 'xxxxxxxxxxxx',
'Content-type': 'application/json',
'X-ClientTraceId': str(uuid.uuid4())
}
# You can pass more than one object in body.
body = [{
'text' : 'Hello World!'
}]
request = requests.post(constructed_url, headers=headers, json=body)
response = request.json()
print(json.dumps(response, sort_keys=True, indent=4, separators=(',', ': ')))
非常感谢
埃里克
根据此 doc,因为您正在使用多项服务。必须在您的请求中包含 2 身份验证 headers。
Ocp-Apim-Subscription-Key The value is the Azure secret key for your multi-service resource.
Ocp-Apim-Subscription-Region The value is the region of the multi-service resource.
这里的位置是指定的订阅区域。
正在查看您的屏幕截图。该地区似乎是 - westeurope
已针对您的用例更新 Headers:
headers = {
'Ocp-Apim-Subscription-Key': 'xxxxxxxxxxxx',
'Ocp-Apim-Subscription-Region' : 'westeurope',
'Content-type': 'application/json',
'X-ClientTraceId': str(uuid.uuid4())
}
我正在使用 Python 3.8.3 并尝试使用 Azure Translation。基于 (https://docs.microsoft.com/nl-nl/azure/cognitive-services/Translator/quickstart-translate?pivots=programming-language-python) 的示例,我尝试为自己重新创建示例并最小化代码。
我创建了一个 Azure 资源(翻译)并在代码中复制了 key 和 endpoint。但是当我 运行 代码时,出现以下错误:
"code": 401000,
"message": "The request is not authorized because credentials are missing or invalid."
谁能解释一下我做错了什么以及如何解决这个问题!
我使用这个代码:
import os, requests, uuid, json
path = '/translate?api-version=3.0'
params = '&to=de&to=it'
constructed_url = "https://api.cognitive.microsofttranslator.com" + path + params
headers = {
'Ocp-Apim-Subscription-Key': 'xxxxxxxxxxxx',
'Content-type': 'application/json',
'X-ClientTraceId': str(uuid.uuid4())
}
# You can pass more than one object in body.
body = [{
'text' : 'Hello World!'
}]
request = requests.post(constructed_url, headers=headers, json=body)
response = request.json()
print(json.dumps(response, sort_keys=True, indent=4, separators=(',', ': ')))
非常感谢 埃里克
根据此 doc,因为您正在使用多项服务。必须在您的请求中包含 2 身份验证 headers。
Ocp-Apim-Subscription-Key The value is the Azure secret key for your multi-service resource.
Ocp-Apim-Subscription-Region The value is the region of the multi-service resource.
这里的位置是指定的订阅区域。
正在查看您的屏幕截图。该地区似乎是 - westeurope
已针对您的用例更新 Headers:
headers = {
'Ocp-Apim-Subscription-Key': 'xxxxxxxxxxxx',
'Ocp-Apim-Subscription-Region' : 'westeurope',
'Content-type': 'application/json',
'X-ClientTraceId': str(uuid.uuid4())
}