2017-03-03 13 views
1

IBM i에서 실행되는 RPGLE 프로그램에서 사용하기 위해 Sharepoint 2013에서 문서를 프로그래밍 방식으로 가져와야합니다. 누구도 비슷한 것을 한 적이 있습니까? 최소한 Sharepoint에서 문서를 가져올 수 있고 네트워크 파일 공유에 문서를 가져올 수있는 방법을 알고 있습니다. 저는 다양한 가능성을 모색 해 왔지만 C#이나 .NET에 대해서는 잘 모릅니다. 그리고 저를 위해 적응할 수있는 것을 찾기 위해 고심하고 있습니다.RPGLE을 사용하여 Sharepoint 2013 문서를 검색하려면 어떻게해야합니까?

답변

0

업데이트 : 나는 내가 RPG 프로그램에서 스콧 KLEMENT의 오픈 소스 HTTPAPI을 사용하여 수행하려고했던 것을 달성 할 수 있었다 :

Ctl-opt DftActGrp(*No); 
    Ctl-opt BndDir('HTTPAPI'); 

    /include libhttp/qrpglesrc,httpapi_h 

    Dcl-s rc  Int(10); 
    Dcl-s url  Varchar(300); 
    Dcl-s ifs  Varchar(256); 
    Dcl-s pwtype Char(1); 
    Dcl-s userid Char(50); 
    Dcl-s password Char(50); 

    // Turn on debugging for troubleshooting. It will write a debug log file 
    // to the IFS in /tmp/httpapi_debug.txt 
    http_debug(*ON); 

    url = 'http://sharepoint/path/to/file/thefile.pdf'; 
    ifs = '/temp/myfile.pdf'; 

    // Set password type for SharePoint's NTLM authentication requirement 
    pwtype = HTTP_AUTH_NTLM; 

    // Set user and password 
    userid = 'theuser'; 
    password = 'thepassword'; 

    // Set credentials for authentication 
    http_setAuth(pwtype: userid: password); 

    // Call HTTPAPI's routine to download the file to the IFS 
    rc = http_req('GET': url: ifs); 

    // End gracefully if error 
    if rc <> 1; 
    http_crash(); 
    endif; 

    *inlr = *on; 

자세한 내용은 here를 찾을 수 있습니다.

1

RPGLE이 지원하는 경우 REST API를 통해 SharePoint 2013 데이터에 액세스 할 수 있습니다. 동일한 인증에 대해 적절한 인증을 설정해야 할 수도 있습니다.

지내는 API에 대한 문서는 RPG에서 문서를 구문 분석 할 수 있습니다 가정 MSDN

1

에서 찾을 수 있습니다, 당신은 retrieve a document via HTTP

사용 HTTPGETBLOB에 셰어 REST API를 GetFolderByServerRelativeUrl와 SQL 함수 HTTPGETBLOB을 사용할 수 있습니다 SQLRPGLE의 SQL 함수. 예 여기 IBM i SQL HTTP Services/셰어 인증을 통과 헤더에 토큰을해야합니다 :

url: http://site url/_api/web/GetFileByServerRelativeUrl('/Folder Name/file name')/$value 
method: GET 
headers: 
    Authorization: "Bearer " + accessToken 

문서가 길면에게 이전 링크를 설명한 바와 같이, 당신은 그렇지 않으면 RPG 변수 길이가 없습니다 수 있습니다, IFS에 작성해야 충분한.

+0

이것은 훌륭한 솔루션처럼 들리지만, 댐. 나는 그것을 한 번 줄 것이고 그것이 어떻게 효과가 있는지 알려줄 것이다. 감사! – evawebrez

+0

댐, SQLRPGLE에서 Authorization 헤더에 대한 accessToken을 얻는 방법에 대한 아이디어가 있습니까? – evawebrez

+0

나는이 방법을 Sharepoint가 아닌 Alfresco와 함께 성공적으로 사용했습니다. Auth 토큰은 Alfresco에서 매우 쉽게 얻을 수 있습니다. 저는 현재 셰어 포인트를 사용하지 않고 간단하다고 가정했지만 토큰을 얻는 것이 까다로울뿐입니다. 약간 검색했지만 확실한 답을 찾을 수 없었습니다. [how-can-i-get-an-oauth- access-token-in-sharepoint-2013] (http://stackoverflow.com/questions/11804624/how-can-i-get-an-oauth-access-token-in-sharepoint-2013). – Dam