我正在使用 WhatsApp Business Cloud API 构建一个应用程序。本质上我想知道是否可以构建一个应用程序来收集当天的所有消息并下载它。特别是使用 API 附加到它的媒体。据我所知,您可以使用网络钩子来获取传入消息。但为了做到这一点,应用程序必须永远运行,而我的表弟对此有一个问题,因为与每天运行一次应用程序相比,永远运行应用程序可能会导致问题。我可以使用 API 和 python 包装器发送消息,但这比我想要做的简单得多。此外,还有使用 selenium 的选项,但这并不是我们想要做的真正的自动化解决方案,因为每次 selenium 执行浏览器时,我们都需要使用二维码登录。如果有人知道这是否可能(或不可能),我将非常感激!
from heyoo import WhatsApp
import logging
import requests
from dotenv import load_dotenv
from flask import Flask, request, make_response
app = Flask(__name__)
token = 'EAAVk5rqOCsABAAcPPrZC6GnlZAJuykdFIQd4DhkuRVNeGntfFOU5jaK4jG2yCZBS6i7kFQGk3kRvDP0fExBXRsFyqWUqfVVJsSxeQdcA9XHWpRuUsnnuwqLcZAQpwTiuoZCXv4ixCcHYlPEe6NGHupCalHvWw9NQRoZAVnegU5ZCBvX6eO9E8vyum1lQ2SSt7OuUpdpIkmkyBK8tiEL8rpGwM8RrqZA3A10ZD'
messenger = WhatsApp(token, phone_number_id='100398242927044')
messenger.send_message('Hey its JJ ', '1xxxxxxxx')
logging.basicConfig(
level=logging.INFO, format="%(asctime)s - %(name)s - %(levelname)s - %(message)s"
)
print("hello")
@app.route("/", methods=["GET", "POST"])
def hook():
//一些尚未运行的代码
我对所有这些东西都很陌生,所以我也不知道如何设置 Webhook,但我正在为其构建此应用程序的表弟并不理想地想要使用 Webhook。
您可以使用ngrok服务器,它提供:
如何使用 ngrok 通过 Webhooks 将本地主机应用程序与 WhatsApp 集成。每当您的 WhatsApp 帐户中发生特定事件时,WhatsApp Webhook 可用于通知外部应用程序
Ngrok 不适用于 Whatsapp,请在此处查看更多信息: Ngrok Webhooks 未在 Meta Webhook 的回调 URL 中得到验证
但是您可以使用替代方案来反向代理您的本地主机(例如端口 8000):
ssh -R 80:localhost:8000 serveo.net