0

サーバーからドキュメント管理にファイルをアップロードする必要がありますが、ファイルのアップロードの段階で問題があります。詳細については、Dynamics NAV でスクリプトを実行します。

Dynamics NAV からのアップロードを行う前に、Git Bash と cURL コマンドを試してみました。動作します。

これは私が持っている権限です: こちらをご覧ください

これはすべての手順であり、私ができることです:

  • アップロードしたいフォルダの HubID を見つける (DONE)
  • 保管場所の作成 (完了)
  • ファイルのアップロード (FAIL)
  • 最初のバージョンを作成します。

アップロード手順を実行すると、エラー 401 : Forbidden が表示されますが、適切なアクセス許可を設定するためにどこに行けばよいかわかりません。

これは cURL コマンドです:

curl -X PUT -H "Authorization: Bearer nq4dc0KRWeaaUnyIJA8aN0MIKi3j" 
    --data-binary '@\\server\folder\subfolder\file.rvt' 
    "https://developer.api.autodesk.com/oss/v2/buckets/wip.dm.prod/objects/2448af43-45f3-4b81-a8cf-38c69b03197b.rvt"

これを見た後、ファイルをアップロードするための特別な権限を設定する必要はありません。

これは私のDynamics Navコードです:

HttpWebRequestMgt.Initialize(STRSUBSTNO('https://developer.api.autodesk.com/oss/v2/buckets/wip.dm.prod/objects/%1',Filename));
HttpWebRequestMgt.DisableUI;
HttpWebRequestMgt.SetMethod('PUT');
HttpWebRequestMgt.SetContentType('application/octet-stream');
HttpWebRequestMgt.AddHeader('Authorization','Bearer ' + Token);

FileManagement.BLOBImportFromServerFile(TempBlob,ServerFolder+'\'+Filename);

HttpWebRequestMgt.AddBodyBlob(TempBlob);

CLEAR(TempBlob);
TempBlob.Blob.CREATEINSTREAM(ResponseInStream);

HttpWebRequestMgt.GetResponse(ResponseInStream,HttpStatusCode,ResponseHeaders);
ResponseInStream.READTEXT(ResponseText);

CLEAR(HttpWebRequestMgt);
CLEAR(TempBlob);

これで私は特定の権限が必要です...

いくつかの提案?

4

2 に答える 2