我使用 oracle apex 环境创建了一些 Rest Web 服务。并且需要从不同的数据库模式调用它。
(例如,我有 2 个模式的 abc 和 xyz。两者都有自己的 apex 环境。API 是在 abc 的 apex 环境上创建的。我需要在 xyz 模式下使用 plsql 调用它。)
现在,当它不受保护时,我可以成功调用API并发送/接收数据。
这项活动对我来说是新的。所以,我想我在调用此 API 时做错了什么或错过了要添加的内容。
这是我的代码示例:
apex_web_service.oauth_authenticate(
p_token_url => l_request_url || '/oauth/token',
p_client_id => l_client_id,
p_client_secret => l_client_secret);
begin
apex_web_service.oauth_set_token(
p_token => apex_web_service.oauth_get_last_token
);
end;
l_request_headers_tab (1).name := 'Authorization';
l_request_headers_tab (1).VALUE := 'Bearer ' || apex_web_service.oauth_get_last_token;
l_request_headers_tab (2).name := 'Content-TYPE';
l_request_headers_tab (2).VALUE := 'application/json';
<calling apex_web_service.make_rest_request>
虽然我检查过
apex_web_service.oauth_get_last_token
也返回了令牌。所以不知道为什么我仍然收到 401 错误。
请帮我解决这个问题。
谢谢,
看起来,
apex_web_service.oauth_set_token
正在重置令牌。因此 headers_tab
没有收到令牌。虽然我真的认为这是为了将令牌设置到 API。
如果能给出任何深入的解释,将不胜感激。