我已经创建了 ACL 并授予了权限,但它给了我一个错误。
下面是 pl/sql 块,它在 apex.oracle.com 上工作正常并将数据插入表中,但是当我从数据库调用相同的 pl/sql 块时,它会出现错误。请让我知道我错在哪里。
数据库19c
顶点:22.2
DECLARE
l_respclob CLOB;
l_reqbody CLOB;
v_access_token VARCHAR2(4000);
l_Status VARCHAR2(200);
BEGIN
apex_web_service.g_request_headers(1).name := 'Content-Type';
apex_web_service.g_request_headers(1).value := 'application/json';
apex_json.initialize_clob_output;
apex_json.open_object;
l_reqbody :=
'{
"grant_type": "client_credentials",
"client_id": "2KDLXfdDZAKdeRivIg4",
"client_secret": "UqPvcfZ43yVbF0QlC58PcVYkSuSr6sTW88QTPUTEb56BGoH19goIj2Zzzxl"
}';
l_respclob :=
apex_web_service.make_rest_request(
p_url => 'https://git-ss.piwik.pro/auth/token',
p_http_method => 'POST',
p_body => l_reqbody
);
v_access_token := JSON_VALUE(l_respclob, '$.access_token');
insert into TBL_MAKE_REQ(TOKEN)
values (v_access_token);
end;
您需要将网络ACL授予APEX Engine用户,即APEX_NNNNNN,请参阅APEX安装指南:https://docs.oracle.com/en/database/oracle/apex/22.1/htmig/enabling-network- services-in-Oracle-db11g-or-later.html#GUID-8D125731-989A-4A51-AFFE-00181729F87F