HTTP-запросы используют один из этих двух форматов:
GET: Все информация о запросе находится в URL
POST: некоторая информация отправляется в формате JSONна URL
То, что мы видим в API Facebook, представляет собой запрос POST: URL определен как
https://graph.facebook.com/v2.6/me/messages?access_token=<PAGE_ACCESS_TOKEN>
... и есть информация запроса POSTв разделе JSON под
Curl - программа, используемая для отправки HTTP-запросов с терминала.Если вы устанавливаете Curl, вы можете заполнить информацию JSON / url, выполнить команду (которая отправляет запрос POST) и увидеть всплывающие кнопки для получателя.Точно так же, как вы хотите, чтобы ваш чатбот работал!
Однако, Curl - это инструмент, а не библиотека Python!
Чтобы сделать это в Python, вы можете отправить запрос через встроенные библиотеки Python,или установите пакет, который облегчает эту задачу (например, запросы), обратитесь к разделу «Отправка http-запросов через python».
Ниже приведен пример (адаптированный с этот вопрос ):
from urllib.parse import urlencode
from urllib.request import Request, urlopen
# the url we are sending the request to
url = "https://graph.facebook.com/v2.6/me/..."
# the POST request data
request_data = {
"recipient": {
"id": "<PSID>"
},
"message": {
"attachment": {
...
}
}
}
# create the request with the url and the data
post_request = Request(url, urlencode(request_data).encode())
# send it to Facebook! Response is the API response from Facebook
response = urlopen(post_request).read().decode()