Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DECLARE
- v_token VARCHAR2 (200);
- Otext_Auth_Username VARCHAR2 (30) := 'XXXXXXX';
- Otext_Auth_Password VARCHAR2 (30) := 'YYYYYYY';
- Otext_Auth_URL VARCHAR2 (200)
- := 'http://XXXXXXX/cs.exe/api/v1/auth?';
- Otext_Content_URL VARCHAR2 (200)
- := 'http://XXXXXXX/cs.exe/api/v1/nodes';
- PROCEDURE get_valid_auth_token
- AS
- FUNCTION get_token
- RETURN VARCHAR2
- AS
- v_request UTL_HTTP.REQ;
- v_response UTL_HTTP.RESP;
- v_response_text VARCHAR2 (2000);
- v_CONTENT VARCHAR2 (4000)
- := 'username='
- || Otext_Auth_Username
- || '&password='
- || Otext_Auth_Password;
- BEGIN
- v_request :=
- UTL_HTTP.BEGIN_REQUEST (Otext_Auth_URL, 'POST', ' HTTP/1.1');
- UTL_HTTP.SET_HEADER (
- v_request
- , 'content-type'
- , 'application/x-www-form-urlencoded;charset=UTF-8');
- UTL_HTTP.SET_HEADER (v_request, 'cache-control', 'no-cache');
- UTL_HTTP.SET_HEADER (v_request
- , 'Content-Length'
- , LENGTH (v_CONTENT));
- UTL_HTTP.WRITE_TEXT (v_request, v_CONTENT);
- v_response := UTL_HTTP.GET_RESPONSE (v_request);
- UTL_HTTP.READ_LINE (v_response, v_response_text, TRUE);
- UTL_HTTP.END_RESPONSE (v_response);
- v_response_text := REPLACE (v_response_text, '{"ticket":"', '');
- v_response_text := REPLACE (v_response_text, '"}', '');
- RETURN v_response_text;
- EXCEPTION
- WHEN UTL_HTTP.END_OF_BODY
- THEN
- UTL_HTTP.END_RESPONSE (v_response);
- RETURN v_response_text;
- END;
- BEGIN
- v_token := get_token;
- WHILE INSTR (v_token, '/', 1) > 1
- OR INSTR (v_token, '', 1) > 1
- LOOP
- DBMS_OUTPUT.PUT_LINE ('Invalid Token:' || v_token);
- DBMS_OUTPUT.PUT_LINE (
- 'Token had invalid characters - fetch token again');
- v_token := get_token;
- END LOOP;
- DBMS_OUTPUT.PUT_LINE ('Valid Token:' || v_token);
- END get_valid_auth_token;
- PROCEDURE Create_folder
- AS
- v_request UTL_HTTP.REQ;
- v_response UTL_HTTP.RESP;
- v_response_text VARCHAR2 (2000);
- v_CONTENT VARCHAR2 (4000);
- BEGIN
- DBMS_OUTPUT.PUT_LINE ('**************************');
- DBMS_OUTPUT.PUT_LINE ('Otext_Content_URL: ' || Otext_Content_URL);
- v_CONTENT :=
- 'type='
- || 412 -- 0:Folder; 144 - File; 412 - Physical Item (Container); 424 - Physical Item (Box)
- || '&parent_id='
- || 3482206
- || '&name='
- || 'SJS_TEST_NODE';
- DBMS_OUTPUT.PUT_LINE ('v_CONTENT: ' || v_CONTENT);
- v_request :=
- UTL_HTTP.BEGIN_REQUEST (Otext_Content_URL, 'POST', ' HTTP/1.1');
- UTL_HTTP.SET_HEADER (v_request, 'otcsticket', v_token);
- UTL_HTTP.SET_HEADER (v_request, 'cache-control', 'no-cache');
- UTL_HTTP.SET_HEADER (
- v_request
- , 'content-type'
- , 'application/x-www-form-urlencoded;charset=UTF-8');
- UTL_HTTP.SET_HEADER (v_request, 'Content-Length', LENGTH (v_CONTENT));
- --UTL_HTTP.SET_HEADER (v_request, 'type', 412);
- --UTL_HTTP.SET_HEADER (v_request, 'parent_id', 3482206);
- --UTL_HTTP.SET_HEADER (v_request, 'name', 'SJS_TEST_NODE');
- UTL_HTTP.WRITE_TEXT (v_request, v_CONTENT);
- v_response := UTL_HTTP.GET_RESPONSE (v_request);
- IF v_response.status_code = UTL_HTTP.HTTP_OK
- THEN
- DBMS_OUTPUT.PUT_LINE ('Good:' || v_response.status_code);
- ELSE
- DBMS_OUTPUT.PUT_LINE ('Bad:' || v_response.status_code);
- END IF;
- --UTL_HTTP.READ_LINE (v_response, v_response_text, TRUE);
- LOOP
- UTL_HTTP.READ_LINE (v_response, v_response_text, TRUE);
- DBMS_OUTPUT.PUT_LINE ('-->' || v_response_text);
- END LOOP;
- UTL_HTTP.END_RESPONSE (v_response);
- DBMS_OUTPUT.PUT_LINE ('v_response_text:' || v_response_text);
- EXCEPTION
- WHEN UTL_HTTP.END_OF_BODY
- THEN
- UTL_HTTP.END_RESPONSE (v_response);
- WHEN OTHERS
- THEN
- DBMS_OUTPUT.PUT_LINE (
- '-->'
- || ' OTHER Error Msg : '
- || UTL_HTTP.GET_DETAILED_SQLCODE
- || UTL_HTTP.GET_DETAILED_SQLERRM);
- END Create_folder;
- BEGIN
- get_valid_auth_token;
- Create_folder;
- END;
- /
Add Comment
Please, Sign In to add comment