2017-03-03 5 views
1

IBM i上で実行されているRPGLEプログラムで使用するために、プログラムをSharepoint 2013からプログラムで取得する必要があります。誰も似たようなことをしたことはありますか少なくとも、Sharepointからドキュメントをネットワークファイル共有上に置くことができれば、そこからそれを取得する方法を知っています。私はさまざまな可能性を模索してきましたが、C#や.NETは分かりません。私は私の仕事に適応できるものを見つけるのに苦労しています。RPGLEを使用してSharepoint 2013文書を取得するにはどうすればよいですか?

答えて

0

更新:

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見つけることができます: 私はRPGプログラムにスコット・クレメントのオープンソースHTTPAPIを使用して行うことをしようとしていたものを達成することができました。

1

RPGLEがサポートする場合、REST APIを介してSharePoint 2013データにアクセスできます。 同じ認証に適切な認証を設定する必要があります。

REST APIのドキュメントは、あなたがRPGであなたの文書を解析することができますと仮定MSDN

1

で見つけることができ、あなたはHTTPGETBLOBを使用retrieve a document via HTTP

へのSharePoint REST APIをGetFolderByServerRelativeUrlでSQL関数HTTPGETBLOBを使用することができますSQLRPGLE内のSQL関数。ここでは例IBM i SQL HTTP Services、ヘッダ内のSharePoint認証/トークンを渡すようにしてください:

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

私はこの方法をAlfrescoとSharepointではうまく使用できませんでした。認証トークンはAlfrescoで入手するのが非常に簡単です。私は現在Sharepointを使用していませんが、それは簡単であると仮定しましたが、トークンを取得するのは難しいようですが、少しは検索しましたが、決定的な答えは見つかりませんでした。[how-can-i-get-an- access-token-in-sharepoint-2013](http://stackoverflow.com/questions/11804624/how-can-i-get-an-oauth-access-token-in-sharepoint-2013)を参照してください。 – Dam

関連する問題