Whatsapp 的 Facebook Api 参数 messages_product 是必需的。 (ORACLE PL/SQL)

问题描述 投票:0回答:1

我正在尝试运行以下 pl/sql (oracle) 脚本:

DECLARE
v_step VARCHAR2(100) := 'START';
v_url VARCHAR2(500) := 'https://graph.facebook.com/v17.0/108673784/messages';
v_req UTL_HTTP.REQ;
v_res UTL_HTTP.RESP;
--v_data VARCHAR2(32000);
v_dataCLOB;
v_resp CLOB;
v_json VARCHAR2(500);
BEGIN

v_json := '{"messaging_product":"whatsapp","to":"507661354","type":"template","template":{"name":"hello_world","language":{"code" :"in U.S"}}}';

v_step := 'CREATETEMPORARY';

DBMS_LOB.CREATETEMPORARY(v_resp, FALSE);

v_step := 'DETAILED_EXCP';

UTL_HTTP.SET_DETAILED_EXCP_SUPPORT(TRUE);

v_step := 'BEGIN_REQUEST';

v_req := UTL_HTTP.BEGIN_REQUEST (v_url, 'POST', 'HTTP/1.1');

v_step := 'SET_HEADER';

UTL_HTTP.SET_HEADER (v_req, 'Content-Type', 'application/json; charset=utf-8');
UTL_HTTP.SET_HEADER(v_req, 'Authorization', 'Bearer EAADXgRwds9gBAPB9VjEzHxWzxBOgb44ToZAc8bJKkBSOmwkBgrBExyrN4bJBMScKmXQ6AxJFOZCbZCZC6OIL8GzTNcPRhvqMz9pxH4YqZA3 D9jcLFHjJfXZCV16aP0iiqbV7wKJB8FuYhTVu1Mavv6OgZA1omb33TH5QkentZBOJknGgOTtejvFIrb5N9DSQZDZD');


v_step := 'WRITE_TEXT';

UTL_HTTP.WRITE_TEXT(v_req, v_json);

v_step := 'GET_RESPONSE';

v_res := UTL_HTTP.GET_RESPONSE(v_req);

BEGIN
LOOP

v_step := 'READ_TEXT';

UTL_HTTP.READ_TEXT(v_res, v_data, 32000);

v_step := 'WRITEAPPEND';

DBMS_LOB.WRITEAPPEND(v_resp, LENGTH(v_data), v_data);

DBMS_OUTPUT.put_line('Response: ' || v_data);

END LOOP;

v_step := 'END_RESPONSE';

UTL_HTTP.END_RESPONSE(v_res);

EXCEPTION
WHEN utl_http.end_of_body THEN

v_step := 'END_RESPONSE-FAIL';

UTL_HTTP.END_RESPONSE(v_res);
END;

EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.put_line('Error: ' || SQLERRM||v_step);
END;

我得到了这样的回应:

{"error":{"message":"(#100) The parameter messaging_product is
required.","type":"OAuthException","code":100,"fbtrace_id":"A24Dw8ken5nATAsQnuqB
oDK"}}

这很奇怪,因为如果你在脚本中看到参数被发现,

如果我从邮递员手动运行相同的内容,它就可以正常工作。

我期望发生的是直接自动消息发送到whatsapp

oracle plsql oracle-apex
1个回答
0
投票

我也遇到同样的错误,请问你解决了吗?

© www.soinside.com 2019 - 2024. All rights reserved.