【发布时间】:2020-05-03 17:16:30
【问题描述】:
我正在使用下面的 python 代码将文件上传到我们的营销自动化工具 Marketo。当我在本地下载文件时它可以工作(/home/tyron/Downloads/yoda.jpeg),但我希望能够直接从 Dropbox 将文件上传到 Marketo,而无需在中间下载它,因为我将托管此代码在扎皮尔。
当给出 Dropbox 文件的链接时,进行此上传的最佳方式是什么?
import requests
url = "xxxxxx/rest/asset/v1/files.json"
payload = {'name': 'test',
'file': '/home/tyron/Downloads/yoda.jpe',
'folder': '{"id":367,"type":"Folder"}'}
files = [
('file', open('/home/tyron/Downloads/yoda.jpeg','rb'))
]
headers = {
'Authorization': 'Bearer yyyyyyyy'
}
response = requests.request("POST", url, headers=headers, data = payload, files = files)
print(response.text.encode('utf8'))
【问题讨论】:
-
我可以帮助解决有关 Dropbox 本身的问题,但我没有关于 Marketo 的背景信息。 Marketo API 是否允许您通过 URL 指定文件? (您可能需要查看他们的文档或向他们寻求帮助。)如果确实如此,您可以通过the /2/files/get_temporary_link endpoint 从 Dropbox API 获取文件内容的 URL,并将其提供给 Marketo。
-
谢谢 Greg,这正是我想要的。我将跟进 Marketo 以检查 API 是否接受 URL,如果他们接受,那么临时端点应该可以工作
标签: python api https dropbox marketo