无法使用python程序从zamzar api下载转换后的文件,如https://developers.zamzar.com/docs所示,但我正在使用代码和api密钥。它只显示错误代码:20。在此错误后面浪费了4小时,有人请。
import requests
from requests.auth import HTTPBasicAuth
file_id =291320
local_filename = 'afzal.txt'
api_key = 'my_key_of_zamzar_api'
endpoint = "https://sandbox.zamzar.com/v1/files/{}/content".format(file_id)
response = requests.get(endpoint, stream=True, auth=HTTPBasicAuth(api_key, ''))
try:
with open(local_filename, 'wb') as f:
for chunk in response.iter_content(chunk_size=1024):
if chunk:
f.write(chunk)
f.flush()
print("File downloaded")
except IOError:
print("Error")
这是我用来下载转换文件的代码。
答案 0 :(得分:2)
此代码可以轻松地将文件转换为不同的格式:
img {
-webkit-box-shadow: 0 15px 10px #777;
-moz-box-shadow: 0 15px 10px #777;
box-shadow: 0 15px 10px #777;
}
希望有人好!。
答案 1 :(得分:2)
我是Zamzar API的首席开发人员。
因此,Zamzar API文档包含有关错误代码的部分(请参阅https://developers.zamzar.com/docs#section-Error_codes)。您错误的相关代码是:
{ “消息”:“API密钥丢失或无效”, “代码”:20 }
这可能意味着要么你没有在所有或指定API密钥,而是使用的API密钥对于您尝试下载的文件无效。似乎更有可能是后者,因为您的代码包含api_key
变量。
查看您的代码,您可能已使用作业ID (291320)尝试下载文件,而实际上您应使用文件ID
每个转换作业都可以输出一个或多个转换后的文件,您需要指定要抓取的文件ID。您可以通过查询/jobs/ID
并查看target_files
数组来查看作业的所有已转换文件ID的列表。这在https://developers.zamzar.com/docs#section-Download_the_converted_file
因此,如果您更改代码以使用作业的target_files
数组中的文件ID ,那么您的下载就会生效。
对不起,你浪费了时间。显然,如果已达到S.O.我们的文档在解释这种区别方面做得不够好,所以我们将看看我们可以做些什么来使它们更清晰。
快乐转换!