Отправляйте изображения в WhatsApp на Python с помощью Cloud API.Python

Программы на Python
Anonymous
Отправляйте изображения в WhatsApp на Python с помощью Cloud API.

Сообщение Anonymous »

Как отправить изображение в Whatsapp на Python с помощью Cloud API?
Насколько я понял, процесс следующий:
  • Загрузить изображение в Meta и получить его идентификатор
  • Отправить изображение, указав загруженный идентификатор
Источники:
https://developers.facebook.com/docs/wh ... load-media
https://developers.facebook.com/docs /whatsapp/cloud-api/reference/messages
https://developers.facebook.com/docs/wh ... -messages/
Таким образом , код для ЗАГРУЗКИ изображения (вроде нормально):
url = f"https://graph.facebook.com/v15.0/{config_WA['PHONE_NUMBER_ID']}/media"
headers = {'Authorization': 'Bearer ' + config_WA['ACCESS_TOKEN']}
files = {
'file': ('filename.jpeg', open('filename.jpeg', 'rb'), 'image/jpeg', {'Expires': '0'}),
}
data = {
"messaging_product": "whatsapp",
"recipient_type": "individual",
}

upload_media = requests.post(
url,
data={
'messaging_product' : 'whatsapp',
'type': 'image/png',
},
files=files,
headers=headers
)

Код для получения изображения, показывающий, что оно действительно существует (вроде нормально):
# Open image uploaded
url = f'https://graph.facebook.com/v20.0/{id}/'
#-H 'Authorization: Bearer '

image = requests.post(
url,
headers=headers
)

response = requests.get(image.url, headers=headers) # get the file binary
# save the received file
print(response.content)

А затем введите код для ОТПРАВКИ изображения:
url = "https://graph.facebook.com/v17.0/"+config_WA['PHONE_NUMBER_ID']+"/messages"
# Headers
headers = {
"Content-type": "application/json",
'Authorization': 'Bearer '+config_WA['ACCESS_TOKEN']
}

data = {
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "+5521972832146",
"type": "image",
"image": {
"id" : id,
"caption": "The best succulent ever?"

}
}

send_media = requests.post(
url,
data= data,
headers=headers
)


Он запускается, но я получаю «Ответ [400]», и send_media.text возвращает:
{"error":{"message":"(#100) Param image must be a JSON object.","type":"OAuthException","code":100,"fbtrace_id":"A64oeOdpaY7e7WjoPChkcfz"}}


Подробнее здесь: https://stackoverflow.com/questions/786 ... -cloud-api

Вернуться в «Python»