2016-12-09 4 views
2

ファイルが見つかりませんでした。 APIを呼び出すと、ファイルを取得する機会が少なくなります。私たちは生産上でこの問題を抱えており、それがクライアントに影響しています。これは昨日より早く始まった。私たちは何ヶ月も問題なくこのapiを呼び出してきました。これは私たちが使用しているAPIです。ポストマンを使用OneDrive API - ファイルの内容を取得しようとすると、ほとんどの場合、ファイルが見つかりません。

https://TENANT-my.sharepoint.com/_api/v2.0/drives/DRIVE_ID/items/FILE_ID/content

、応答は以下です。この文書は適切に共有されており、何ヶ月も続いています。私たちの側では何も変わっていません。

申し訳ありません、何かが間違っていました。 申し訳ありませんが、このドキュメントにアクセスすることはできません。あなたと共有した人に連絡してください。 技術的な詳細

Microsoft SharePoint Foundationの問題をトラブルシューティングします。 相関ID:fb6bbf9d-d0d6-2000-cdd6-ef99686d513f

日付と時刻:。我々はItemNotFoundを持つC#/。NET SDKを使用して同じ問題を抱えている2016年12月9日9時13分02秒AM

答えて

2

を、これはどのようにか、APIが壊れた理由は、これを書いているとして、OneDriveは認めず、元の問題を修正していない説明していませんが、私たちのソリューションは、値を使用していましたファイルのメタから@contentDownloadUrlを削除し、権限ヘッダーなしでそのURLを呼び出します。現在の状態

ドキュメント:

は、「事前認証されたダウンロードURLは短期間(数分)のために有効であり、ダウンロードするには承認ヘッダーを必要としません。」

これは「必要ありません」と言うべきではありませんが、「含めてはいけません」といっている方がより明確です。私は彼らのドキュメントにプルリクエストをしました。

+0

@Burnsyと@JEBoothjrの調査に感謝します。私は最近、同様の問題のいくつかの他のレポートを見ています。私は 'Authorization'ヘッダーも提供されたときに動作にドリルダウンします。 – Brad

+0

私は同じ問題を抱えており、githubの問題を開いた - https://github.com/OneDrive/onedrive-api-docs/issues/485 –

+0

これは本当に私たちがやるべきことなのだろうか。 API自体に問題がありますか?もしそうなら、私はそれを書き留めます。 – JEBoothjr

0

エラーと 'Microsoft.Graph.ServiceException'です。これは、MSがOneDriveを12月7日に更新した後に開始されました。 O365/OneDriveチームのサポートチケットを開設しました。彼らは、公開からの問題を認識しておらず、APIサポートに連絡する必要があると述べました。奇妙なことは、100回の試行のうち2回、時には動作するということです。ファイルのリスト表示とアップロードはまだ動作しますが、ダウンロードは失敗します。 GitHubのから

  • 最新のサンプルプロジェクト、同じエラーこの影響を与える可能性のある新しい設定のSharePointで
  • チェック設定は、どれも
  • 再登録見つからない:ここで

    は、私たちがこれまでにしようとしているものですアズールADにおけるAPPは、失敗したコードの行があるアズールADにおける

  • 増加したアプリの権限

var stream = this.oneDriveClient.Drive.Items [item.Id] .Content.Request()。GetAsync();

+0

私たちはREST APIを使用していますが、同様の成功率があります。私たちはまた、変更されたバージョンの呼び出しを試みましたが、まだ成功しませんでした。APIサポートまたはO365/OneDriveチームとの連絡方法は?適切なチャンネルを見つけようと全力で掘りました。 – JEBoothjr

+0

文書、https://dev.onedrive.com/terms-of-use.htmは、使用条件に関する情報を提供し、サポートの範囲を詳しく説明しています。 また、ページの下部にサポートオプションが表示されます。 これらのオプションは、あなたが、私は、この問題はあなたを引き起こした可能性の不便について謝罪再び、APIとプログラミングの問題やノートの問題と支援を得ることができます サポート ユーザーボイスとあり スタックオーバーフロー です。 敬具 ありがとう スティーブ のMicrosoft Office 365のサポート、 スティーブン・クラーク Office 365のサポート – Burnsy

+0

は私がO365で管理インタフェースを使用してサポートチケットを開いて、それが電子メールで送信する行く:[email protected]。 – Burnsy

0

問題は認証にあります。このコードは、それを修正するようだ:

  var adalAuthProvider = new AdalAuthenticationProvider(
        this.AadClientId, 
        this.AadReturnUrl); 

      this.oneDriveClient = new OneDriveClient(this.AadTargetUrl + "/_api/v2.0", adalAuthProvider, new HttpProvider(new HttpClientHandler { AllowAutoRedirect = true }, true)); 
      authTask = adalAuthProvider.AuthenticateUserAsync(this.AadTargetUrl); 

      try 
      { 
       await authTask; 
      } 
+0

私は同じことを実現しています。 Authヘッダーで@ content.downloadUrl値を使用すると、問題を再現できます。その値を使用してauthヘッダーを削除した場合、私は "content"を得ることができますが、私たちのパーサーはそれに失敗しているので、ファイルの内容ではなくファイル自体を返すと思いますか? – JEBoothjr

+0

私の最後に小さな問題がありました。 @contentdownloadUrlが動作しています。しかし、その呼び出しで認証ヘッダーを削除する必要があります。 – JEBoothjr