2017-08-31 13 views
1

Microsoft Graph APIに接続するNode.jsアプリケーションを開発しています。Microsoft Graph抑制Excelの更新

多くの場合、に「非常に多くのリクエスト」と記載されている429ステータスコードが返されます。

時々、返されたメッセージは次のとおりです。

TooManyRequests。クライアントアプリケーションは抑制されており、一定の時間が経過するまで要求の繰り返しを試みるべきではありません。

他の回、それが返されます。

"TooManyRequestsサーバーがビジー状態、後でもう一度お試しください。。。"。

残念ながら、それも、それはそうすべき彼らのbest practices主張かかわらず、ヘッダにRetry-Afterフィールドを返していません。

これは完全に開発されており、デバッグ中はずっとこのサービスに慣れていません。私はマイクロソフトがしばしばこれの仕組みを変えていることを認識している私はちょうどRetry-Afterフィールドを提供しないサービスの周りにアプリケーションを開発することは困難で、多くの問題を抱えているようです(私はv1.0エンドポイントを使用しています)。

私は5分(私が推薦したように)待つと、サービスはまだエラーになります。返品の返答の例を次に示します。

{ 
    "error": { 
     "code": "TooManyRequests", 
     "message": "The server is busy. Please try again later.", 
     "innerError": { 
      "request-id": "d963bb00-6bdf-4d6b-87f9-973ef00de211", 
      "date": "2017-08-31T23:09:32" 
     } 
    } 
} 

これは操作には一切関係ありませんか?

A2:L3533から範囲を更新しています。それらはすべてテキスト値です。これが抑制に影響するかどうかは疑問です。私は "より小さい"操作セットの使用に関するガイダンスを見つけていません。

答えて

0

コードを見ることなく、何が起こっているのかを正確に診断するのは難しいです。つまり、範囲はここにあるは巨大なであり、ほぼ確実に問題になります。

documentationから:

大規模な範囲は、単一のAPI呼び出しのためには大きすぎるサイズの範囲を意味します。範囲に含まれるセル数、値、数値形式、および数式などの多くの要因によって、応答が非常に大きくなりすぎてAPIのやりとりに適さなくなる可能性があります。 APIは、要求されたデータを返すか、または書き込むための最良の試みを行います。ただし、リソースの使用率が高いため、サイズが大きいとAPIエラーが発生する可能性があります。

これを避けるには、複数の小さな範囲サイズで大きな範囲を読み書きすることをお勧めします。

+0

ありがとうございました。要求を小さくして1セルを変更しても、同じメッセージが表示されていますが、12時間以上でサーバーにヒットしませんでした。グラフエクスプローラでは、https://graph.microsoft.com/v1.0/me/drive/root:/MyFileへのパッチを作成します。XLSX:/ワークブック/ワークシート/ MySheetName /範囲(アドレス= 'A2:A2')は、以下のJSON本体と "{ "値":[ [ "12" ] ] }" それは "TooManyRequestsを返します"ステータスコード429. – PaulPerry

+0

一度に1つのセルを更新しようとすると、まだ429ステータスコードが表示されます。それでも、それは抑制されています。なぜシステムがそれをやっているのか理解するために、透明性を持たせることは良いことです。 – PaulPerry

+0

また、両方とも状態コード429で応答しても、「サーバーがビジー状態です。後でもう一度試してください。」というメッセージが表示されます。スロットル用のステータスコード429にバンドルされているようには見えません。メッセージが信じられるなら、このシステムは非常に忙しいです。 – PaulPerry

関連する問題