Comments (20)
Hi @sumitgsh, That feature is not supported yet, however, there is a way to do that and I was having an issue with the integration which thus why I didn't include it at all in the library.
You will need to upload your media(image, video, sticker) to WhatsApp Cloud API, and then it will give you a media ID which you will then use it on existing methods as they already support sending media given media id.
Here is a link to the official documentation https://developers.facebook.com/docs/whatsapp/cloud-api/reference/media#
I have included a new method upload_media
to mimic the curl command in the documentation but I'm facing this weird error that messaging_product
is missing in my query.
2022-08-30 20:30:40,541 - root - INFO - Uploading media imagee.jpg
2022-08-30 20:30:41,457 - root - INFO - Error uploading media imagee.jpg
2022-08-30 20:30:41,457 - root - INFO - Status code: 400
2022-08-30 20:30:41,457 - root - INFO - Response: {'error': {'message': '(#100) The parameter messaging_product is required.', 'type': 'OAuthException', 'code': 100, 'fbtrace_id': 'AbSnMtWM4sUKWLq43Q62TfF'}
There is another fellow developer who looks like was able to successfully do that but in PHP, have a look at it, and maybe you could help to make the
upload_media()
method get work in python.
Let me know if you need any further clarification
Thank you
from heyoo.
@Kalebu I tried to test the upload_media
method by just cloning it ,was able to successfully generate the id of the image.
The id looks like {'id': '7512727592XXXX'}
After that used the same Id as a parameter to `send_image' method end yeah file got shared.
So probably might me a case with token or the file's absolute location..
Was not able to recreate the issue that you mentioned ..
2022-08-30 20:30:40,541 - root - INFO - Uploading media imagee.jpg
2022-08-30 20:30:41,457 - root - INFO - Error uploading media imagee.jpg
2022-08-30 20:30:41,457 - root - INFO - Status code: 400
2022-08-30 20:30:41,457 - root - INFO - Response: {'error': {'message': '(#100) The parameter messaging_product is required.', 'type': 'OAuthException', 'code': 100, 'fbtrace_id': 'AbSnMtWM4sUKWLq43Q62TfF'}
from heyoo.
This is interesting @sumitgsh because I tried thousands of times but it kept raising that exception
I updated the upload_media
to get the full path of the file before loading automatically but still didn't work
Guess this is more of something to do with my account rather than WhatsApp Cloud API
Won't you mind sharing the snippet of code your ran and a bit of file structure?
from heyoo.
yes sure @Kalebu ,end Sry for the late reply.
Here is the sample code that I tested.
base_url = "https://graph.facebook.com/v14.0"
# File structure
media="D:/dir-1/dir-2/dockre.png"
phone_number_id="101791896XXXXXX"
token=' XXXXXXX'
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer {}".format(token),
}
form_data = {
"file": (media, open(media, "rb"), mimetypes.guess_type(media)[0]),
"messaging_product": "whatsapp",
"type": mimetypes.guess_type(media)[0],
}
form_data = MultipartEncoder(fields=form_data)
headers = headers.copy()
headers["Content-Type"] = form_data.content_type
r = requests.post(f"{base_url}/{phone_number_id}/media",headers=headers,data=form_data,)
if r.status_code == 200:
print (r.json())
The above code is successfully generating the Image ID i.e {'id': '7512727592XXXX'}
and the snippet is same as the upload_media
method , So yes As u mentioned There might be a Problem with the account.
End I would love to contribute and be part of the repository and the cause as well..:)
from heyoo.
I cannot send image through this method
from heyoo.
Hi @umerghayaz Can you share the exact error messages you're encountering so that we can better understand your situation ?
from heyoo.
import requests
import json
media="C:/PYTHON/Python3.8/Scripts/office_work/Capture001.png"
print(media)
caption='JJJ'
PHONE_ID = ""
TOKEN = ""
NUMBER = ""
MESSAGE = "hello"
URL = "https://graph.facebook.com/v15.0/"+PHONE_ID+"/media"
headers = {
"Authorization": "Bearer "+TOKEN,
"Content-Type": "application/json"
}
data = {
"messaging_product": "whatsapp",
"to": NUMBER,
"type": "image/png",
"file":media ,
}
response = requests.post(URL, headers=headers, data=data)
response_json = response.json()
print(response_json)
my error
{'error': {'message': 'An unknown error has occurred.', 'type': 'OAuthException', 'code': 1, 'fbtrace_id': 'AUxIoQ-SmKUe9d-jbEHpph_'}}
from heyoo.
media_id = whatsapp.upload_media(
media='',
)
messenger.send_image(
image=media_id,
recipient_id="",
link=False
)
my error
2022-11-12 14:13:53,853 - root - INFO - Content-Type: multipart/form-data; boundary=417ee1c9e953485f9d22bb9506e3efb2
2022-11-12 14:13:53,855 - root - INFO - Uploading media C:/PYTHON/Python3.8/Scripts/office_work/Capture001.png
2022-11-12 14:13:54,498 - root - INFO - Error uploading media C:/PYTHON/Python3.8/Scripts/office_work/Capture001.png
2022-11-12 14:13:54,503 - root - INFO - Status code: 400
2022-11-12 14:13:54,506 - root - INFO - Response: {'error': {'message': '(#100) The parameter messaging_product is required.', 'type': 'OAuthException', 'code': 100, 'fbtrace_id': 'ABvV0tOV9sTGWiPbzVwpk_T'}}
2022-11-12 14:13:54,912 - root - INFO - Status code: 400
2022-11-12 14:13:54,915 - root - ERROR - {'error': {'message': '(#100) Either one of media ID or link must be present', 'type': 'OAuthException', 'code': 100, 'error_subcode': 2494009, 'fbtrace_id': 'AMSJJxy83UQuXmoWSsFG8jN'}}
from heyoo.
Hi @umerghayaz
Here that's where I am confused because it didn't work for me either, I was having that issue that messaging_product was missing while its present, and then came @sumitgsh and told me it worked for me so I thought it was more of a personal account issue but here you comes and experiencing the same issue I was encountering so I guess it still an open issue to be fixed
Hey @soerenetler Does this work for you ?
from heyoo.
2022-12-20 08:35:40,109 - root - INFO - Error uploading media final.png
2022-12-20 08:35:40,109 - root - INFO - Status code: 400
2022-12-20 08:35:40,109 - root - INFO - Response: {'error': {'message': '(#100) The parameter messaging_product is required.', 'type': 'OAuthException', 'code': 100, 'fbtrace_id': 'ApwyF_hzAPhT6qusNDUNeHG'}}
Hi. I have the same issue.
@Kalebu can you please help?
please reach me in mail [email protected]
thank you
from heyoo.
I fixed it:
in def upload media do:
header=header (not self.header).
the problem is that self.headers really missing messaging product
from heyoo.
I fixed it: in def upload media do: header=header (not self.header). the problem is that self.headers really missing messaging product
Great Rina, Thanks so much for spotting it
I've already added to the main source code, Will be added to the next release
from heyoo.
I have tried again and facing the same issue.{'error': {'message': '(#100) Either one of media ID or link must be present', 'type': 'OAuthException', 'code': 100, 'error_subcode': 2494009, 'fbtrace_id': 'AZdGMJW8CW5YtLy2dEr0k3e'}}
@kale and @rinab301 please tell how you have solved the problem. I have updated the library but still I am facing this issue.
thanks
from heyoo.
@umerghayaz its another error. the local file you are sending is jpeg?
from heyoo.
can you please tell me how to locally send pictures and documents
from heyoo.
yes I am sending jpeg file
from heyoo.
I have tried again and facing the same issue.{'error': {'message': '(#100) Either one of media ID or link must be present', 'type': 'OAuthException', 'code': 100, 'error_subcode': 2494009, 'fbtrace_id': 'AZdGMJW8CW5YtLy2dEr0k3e'}} @kale and @rinab301 please tell how you have solved the problem. I have updated the library but still I am facing this issue. thanks
Does the Error Message show that you neither attached the link nor media_id, can you please log the response from upload_media function ?
from heyoo.
MY FULL CODE AND LOG:
CODE:
media_id = messenger.upload_media(
media='C:/Users/IT/PycharmProjects/whatsapptry/static/images/1.jpeg',
)
messenger.send_image(
image=media_id,
recipient_id="",
)
ERROR:
2022-12-29 14:19:22,961 - root - INFO - Content-Type: multipart/form-data; boundary=1ee1a0d5ca524dc0b3042e06cbca6403
2022-12-29 14:19:22,962 - root - INFO - Uploading media C:/Users/IT/PycharmProjects/whatsapptry/static/images/1.jpeg
2022-12-29 14:19:26,924 - root - INFO - Media C:/Users/IT/PycharmProjects/whatsapptry/static/images/1.jpeg uploaded
2022-12-29 14:19:26,925 - root - INFO - Sending image to 923462901820
2022-12-29 14:19:26,925 - root - INFO - Sending document to {'id': '881430619716409'}
2022-12-29 14:19:28,223 - root - INFO - Image not sent to 923462901820
2022-12-29 14:19:28,223 - root - INFO - Status code: 400
2022-12-29 14:19:28,223 - root - ERROR - {'error': {'message': "(#100) Param image['link'] is not a valid URI.", 'type': 'OAuthException', 'code': 100, 'fbtrace_id': 'Ahcu1JsU5WSP9j1hDQB0QFa'}}
from heyoo.
it is working I forgot to add link = false
from heyoo.
it is working I forgot to add link = false
Great, Thank you all for raising the issue and bringing ideas to fix it @umerghayaz @rinab301 @sumitgsh
I will now close this issue
from heyoo.
Related Issues (20)
- webhook got data even if the user didnt send a msg HOT 5
- How to identify that a message received is a forwarded message? HOT 1
- No way to send message localized variables
- importing Heyoo is messing logging configuration HOT 5
- Can messages send to groups? HOT 4
- TypeError: unsupported operand type(s) for |: 'type' and 'NoneType' HOT 3
- Import error HOT 2
- Key error in changed_field for webhook HOT 3
- Looping old messages ( I am Building a chatbot for Whatsapp) HOT 2
- Typo in the docs HOT 3
- Make it just like discord.py HOT 3
- seems like incorrect method HOT 2
- Messange order HOT 6
- get_message for messages of type interactive or list_reply HOT 6
- send template message in different translations (spanish) HOT 3
- Only one method for sending templates HOT 4
- Elevate Error of API HOT 5
- Release to PyPI HOT 3
- INFO - Message sent to number but it no longer arrives to WA HOT 4
- Receiving multiple webhook new message data for single question HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from heyoo.