2017-01-31 5 views
0

アプリケーションアクセス権を使用してOneDrive APIにフルアクセス(R & W)のAzure ADアプリケーションを作成しました。 (私のアプリケーションはデーモンアプリです)。これらのパーミッションには&が承認されています。OneDrive 2.0ダウンロードファイルコンテンツ401 HTTPコード

HTTP GET https://{MyTenant}.sharepoint.com/_api/v2.0/drives//root://Document.docx 

戻り値200及びコンテンツは、ファイルについてのJSONの情報が含まれてい

は2016-12-24T14をGET:15:31.458要求されたURI:

https://{MyTenant}.sharepoint.com/_api/v2.0/drives//root://Document.docx:/content 

2016-12-24T14:15:31.888 StatusCode: 401, ReasonPhrase: 'Unauthorized', Version: 1.1, Content: System.Net.Http.StreamContent, Headers: { X-SharePointHealthScore: 0 SPRequestGuid: c935c49d-a0fa-3000-a357-32b18090ecd4 request-id: c935c49d-a0fa-3000-a357-32b18090ecd4 Strict-Transport-Security: max-age=31536000 X-FRAME-OPTIONS: SAMEORIGIN SPRequestDuration: 140 SPIisLatency: 1 MicrosoftSharePointTeamServices: 16.0.0.6008 X-Content-Type-Options: nosniff X-MS-InvokeApp: 1; RequireReadOnly Cache-Control: private Date: Sat, 24 Dec 2016 14:15:31 GMT P3P: CP="ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI" Server: Microsoft-IIS/8.5 WWW-Authenticate: NTLM X-AspNet-Version: 4.0.30319 X-Powered-By: ASP.NET Content-Length: 16 Content-Type: text/plain; charset=utf-8 } 2016-12-24T14:15:31.888 401 UNAUTHORIZED 

を私が正しくAuthorizationヘッダを追加しました。私は、同じドキュメントライブラリにファイルを送信するアップロード機能を作成しました。これは、削除機能と同じように正しく動作します。

この401の理由は、ファイルの/コンテンツを要求するときだけですか?どうすればこの問題を解決できますか?

jwt.ioにJWTトークンをロードしました。ロールには以下のロールがあります:ロール:[ "TermStore.ReadWrite.All", "Sites.Manage.All", "TermStore.Read.All", "Sites.Read.All", "Sites.ReadWrite.All", "Sites.FullControl.All" ]ここでは何が起こっていますか?要求されたURIは:https://<myTenantName>.sharepoint.com/_api/v2.0/drives/<myDr‌​iveName>/root:/faas.‌​pptx:/content

GETリクエストGET /駆動/商品/ {アイテムID} /コンテンツの両方のタイプを使用して、GET /drive/root:/{path and filename}:/content -> return 401 Unauthorized

よろしく、

ジェンス

答えて

0

これは残念ながら、ありますOneDrive for Businessと「アプリ専用」のシナリオで長続きする問題です。あなたはhttps://github.com/OneDrive/onedrive-api-docs/issues/280に問題を追跡することができます。

+0

ありがとうございました。 SharePoint REST APIを使用してファイルをダウンロードしようとすると、weburlが最初に取得されました。 https:// {myTenantName} .sharepoint.com/_layouts/15/WopiFrame.aspx?sourcedoc =%7BB2CE1848-1FB6-4D7C-B0D9 -B4DB8D08D910%7D&ファイル= faas.pptx&アクション=デフォルト はそれが正しい次のリソースへのGETを実行することです: ます。https:// {} myTenantName .sharepoint.com/_API /ウェブ/ GetFileByServerRelativeUrl( 'faas.pptx')/$値 ファイルはテナントのルートフォルダにあるドキュメントライブラリにあります。 – Jens

+0

気にしないでください。私は、SharePoint APIを調べることで正しい構文を見つけました。正しい方向へ私を向けるためのおかげで@ブラッド! – Jens

関連する問題