【问题标题】:Upload/Send file to Facebook via Send Api Reference using python requests使用 python 请求通过 Send Api Reference 将文件上传/发送到 Facebook
【发布时间】:2021-01-29 15:17:56
【问题描述】:

我正在尝试通过 python 请求将文件上传到 Facebook 发送 API。 curl发送API请求如下

curl  \
  -F 'recipient={"id":"<PSID>"}' \
  -F 'message={"attachment":{"type":"<ASSET_TYPE>", "payload":{"is_reusable":true}}}' \
  -F 'filedata=@/tmp/shirt.png;type=image/png' \
  "https://graph.facebook.com/v9.0/me/messages?access_token=<PAGE_ACCESS_TOKEN>" 

我指的是this facebook documentation

我已经尝试过使用 python 请求的 API

import requests
r = requests.get('https://homepages.cae.wisc.edu/~ece533/images/us092.pgm')
with open('temp.jpg', 'wb') as f:
   f.write(r.content)

files = {
    'recipient': (None, '{"id":" <USER_ID>"}'),
    'message': (None, '{"attachment":{"type":"image", "payload":{"is_reusable":true}}}'),
    'filedata': ('temp.jpg', open('temp.jpg', 'rb')),
}
url = "https://graph.facebook.com/v9.0/me/messages"
params = {"access_token":"<ACCESS_TOKEN>"}

response = requests.post(url=url,params=params, files=files)
print(response.content)

我收到如下回复

{"error":{"message":"(#100) Upload attachment failure.","type":"OAuthException","code":100,"error_subcode":2018047,"fbtrace_id":"Atv2YqLlb4ABkoVOW4sgnzd"}}

以下是错误码说明

我不知道我做错了什么

【问题讨论】:

  • 现在是否可以读取正在使用 Send API 应用程序分析 DM 的帐户的直接消息??

标签: python facebook facebook-graph-api python-requests facebook-send-api


【解决方案1】:

尝试在filedata 键处将;type=image/png 添加到temp.jpg。 这应该看起来像:

'filedata': ('temp.jpg;type=image/png', open('temp.jpg', 'rb')),

【讨论】:

  • 试过了,API还是报同样的错误
猜你喜欢
  • 1970-01-01
  • 2017-01-23
  • 1970-01-01
  • 2020-01-14
  • 2021-05-09
  • 2020-04-08
  • 1970-01-01
  • 1970-01-01
  • 2017-09-02
相关资源
最近更新 更多