我在GAE上开发FB bot,我的机器人的一个功能就是发送图像。我想附加我的图像并将其发送给用户(而不是通过链接)。
问题是我收到错误:必须指定收件人,但实际上我已经指定了它:
from requests_toolbelt import MultipartEncoder
from google.appengine.api import urlfetch
def send_image(recipient_id):
payload = {
'recipient': json.dumps(
{
'id': recipient_id
}
),
'message': json.dumps(
{
'attachment': {
'type': 'image',
'payload': {}
}
}
),
'filedata': (path, open(path, 'rb'))
}
multipart_data = MultipartEncoder(payload)
multipart_header = {
u'Content-Type': multipart_data.content_type
}
result = urlfetch.fetch(
url=request_endpoint,
payload=multipart_data,
method=urlfetch.POST,
headers=multipart_header,
deadline=10)
return result.content
result.response:
'{"error":{"message":"(#100) The parameter recipient is required","type":"OAuthException","code":100,"fbtrace_id":"CIGds8u22au"}}'
答案 0 :(得分:0)
要发送图像,可以使用附件上传Api。 这个过程很简单。 您通过提供图像链接将图像作为附件上传,并获取附件ID。然后使用该附件ID向用户发送附件。 参考:Attachment Upload Api