我在Heroku上设置了一个Flask应用程序,以设置Web钩子,以从Facebook的证书透明性API中提取网络钓鱼证书。我正在尝试通过Facebook的验证请求(Facebook发送GET请求以询问hub.challenge),但是我不知道如何为他们提供所需的信息。在建议我使用Facebook的预先构建的Heroku应用之前,我正在做此学习。
我尝试查找有关GET请求的更多信息,但这并没有帮助我解决此问题。
这是Facebook的网站。 https://developers.facebook.com/docs/graph-api/webhooks/getting-started#verification-requests
@app.route("/facebook", methods=['GET', 'POST'])
if request.method == 'GET':
def get_facebook(mode, challenge, verify_token):
#not sure what to put in here
答案 0 :(得分:0)
查看文档后,有几点提示:
GET
的形式收到请求,因此方法中将不需要'POST'
值request.args.get('e.g.')
int
,具体由您自己决定。结果(免责声明:未经测试!)
import datetime
from flask import jsonify
@app.route("/facebook", methods=['GET'])
def get_facebook():
my_token = 'abc123' # The token you setup on the App dashboard
if request.args.get('hub.verify_token') == my_token:
# The token is valid, return the (current datetime as an int)
# Assuming facebook is expecting a JSON result value
return jsonify({'hub.challenge': int(datetime.datetime.now().timestamp())})
return 'invalid', 403