1

プロバイダーがホストする APP (「StandardTokens」を渡すことによる OAuth 認証) で、大きなファイル (3M 以上) を SharePoint 2013 Online にアップロードしようとしました。いろいろ試しましたが、今のところうまくいく方法はありません。

  1. 以下の SharePoint クライアント モデルを使用しますが、SharePoint オンラインでは、ファイル サイズの制限は約 3M です。他の人にも同様の問題 microsoft.sharepoint.client.file uploadedfile = folder.files.add(filecreationinformation); があります。clientcontext.load(アップロードされたファイル); clientcontext.executequery();
  2. http://msdn.microsoft.com/en-us/library/ff599489.aspxに従って MaxReceivedMessageSize を増やそうとしましたが、サーバー オブジェクト モデルを呼び出して SharePoint Online でそれを行うことができません。PowerShell を使用して設定を SharePoint Online に変更できるかどうかを確認しようとしましたが、SharePoint Online コマンドレット用の Windows PowerShell で MaxReceivedMessageSize に対して公開されているコマンドはありません。
  3. Uploading large files to Sharepoint 365で WebDAV を使用する回避策を試しました。ユーザー名とパスワードを指定してクレーム ベース認証を使用すると機能します。しかし、プロバイダーがホストする APP では、この種の認証を使用することはできず、OAuth 認証作業が必要です。http://code.msdn.microsoft.com/officeapps/SharePoint-2013-Use-HTTPs-dc7227a7に従って、HTTP ヘッダーに「Authorization」、「Bearer」+ accessToken を追加しました。Web サービスの呼び出しではうまく機能しますが、WebDAV の呼び出しでは機能しません。これがコードです。

                request.Headers.Add("Authorization", "Bearer " + accessToken);
    
  4. クライアントモデルで Microsoft.SharePoint.Client.File.SaveBinaryDirect() を試しました。Cookie がリクエストに添付されるのが遅すぎるために SaveBinaryDirect() が機能しないことを示す多くの投稿があります。SaveBinaryDirect() で http 403 エラーが発生しました。「917656; アクセスが拒否されました。この場所にあるファイルを開く前に、まず Web サイトを参照し、自動的にログインするオプションを選択する必要があります。」

    基本的に、上記の4つの方法を試しましたが、すべて失敗しました。少し大きなファイル (3M) を APP で SharePoint 2013 Online にアップロードするのはよくあるシナリオですが、私にはまだ解決策がありません。抜け道を見つけるのを手伝ってくれませんか?

4

0 に答える 0