microappsNode.jsモジュールを使用してShopifyのAPI呼び出し制限を処理する方法

デビッドタートン

私はこれに対する答えを見つけて頭を叩いてきましたが、私には理解できません。microappsによるShopifyAPIのNode.jsモジュールを使用しています更新する必要のある製品IDとSKUのリストを含むJSONオブジェクトがあるので、ファイルをループしてapiを呼び出す関数を呼び出します。ShopifyのAPIは、Shopifyへの呼び出しを制限し、残りの値を含む応答ヘッダーを送信します。このノードモジュールは、制限と使用法を含むオブジェクトを提供します。私の質問は、制限に達したときにsetTimeoutなどで実行できる方法を以下のコードに基づいています。最初の呼び出しを行うと、次のようなlimitsオブジェクトが返されます。

{
 remaining: 30,
 current: 10,
 max: 40
}

私が試したすべてが失敗するので、制限を尊重せずに私が持っているものは次のとおりです。

const products = JSON.parse(fs.readFileSync('./skus.json','utf8'));

for(var i = 0;i < products.length; i++) {
  updateProduct(products[i]);
} 

function updateProduct(product){
    shopify.productVariant.update(variant.id, { sku: variant.sku })
    .then(result => cb(shopify.callLimits.remaining))
    .catch(err => console.error(err.statusMessage));
} 

ある種のコールバックを実装して、残りの使用量が少ないかどうかを確認してから、数秒待ってから再度呼び出す必要があることはわかっています。どんな助けでも大歓迎です。

新入り

https://github.com/lpinca/valveletのように、リクエストを作成するためにshopify-api-nodeShopify.prototype.request)で使用される関数の実行速度を制限するために何かを使用します

以下のコードはテストされていませんが、機能するはずです。1秒あたり2回の呼び出しの制限を尊重する必要があります。

var Shopify = require('shopify-api-node');
var valvelet = require('valvelet');

var products = require('./skus');

var shopify = new Shopify({
  shopName: 'your-shop-name',
  apiKey: 'your-api-key',
  password: 'your-app-password'
});

// Prevent the private shopify.request method from being called more than twice per second.
shopify.request = valvelet(shopify.request, 2, 1000);

var promises = products.map(function (product) {
  return shopify.productVariant.update(product.id, { sku: product.sku });
});

Promise.all(promises).then(function (values) {
  // Do something with the responses.
}).catch(function (err) {
  console.error(err.stack);
});

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

他のモジュールを使用/呼び出して独自のNANDゲートを実装する方法は?

分類Dev

バックボーン.jsを使用してAjax呼び出しを作成および処理する方法

分類Dev

djangoで外部APIへの呼び出しを制限する方法

分類Dev

webpackを使用して外部モジュールでurl(...)を処理する方法

分類Dev

API呼び出しでRESOURCEEXHAUSTEDエラーを処理する方法

分類Dev

forループを使用して、光沢のあるモジュールを動的な回数呼び出します

分類Dev

APIへの非同期呼び出しを処理する方法は?

分類Dev

API呼び出し全体でnode.jsのグローバルエラー処理コードを使用する方法

分類Dev

Firebaseを呼び出してデータを取得するループ内の配列を処理/更新する方法

分類Dev

Firebaseを呼び出してデータを取得するループ内の配列を処理/更新する方法

分類Dev

forループ内でGoogleMapsAPI呼び出しを処理する方法

分類Dev

Railsのモジュールを使用してエラー処理を実行する最良の方法は?

分類Dev

呼び出し元のJavascriptモジュールを参照する方法は?

分類Dev

RequestsPythonモジュールを使用してcurl呼び出しを行う方法

分類Dev

一部のモジュールのすべての関数呼び出しを追跡する方法は?

分類Dev

Python:辞書を使用してモジュール内の関数を呼び出す方法は?

分類Dev

メインファイルIndex.jsのオブジェクトパラメータを使用してモジュールを呼び出す方法

分類Dev

API呼び出しのキューをレート制限して結果を返す

分類Dev

Revealing Module Patternを使用して、あるJSモジュールのパブリックメソッドを別のJSモジュールに呼び出す方法は?

分類Dev

ファイル数の制限を超えたときにmulterでのアップロード呼び出しによって作成されたエラーを処理する方法は?

分類Dev

ファイル数の制限を超えたときにmulterでのアップロード呼び出しによって作成されたエラーを処理する方法は?

分類Dev

汎用モジュールを介して論理データベースを呼び出しますか?

分類Dev

react-reduxアプリケーションでデフォルトのエラー処理を使用してAPI呼び出しを管理する

分類Dev

同時API呼び出しを処理する方法

分類Dev

VBA-クラスモジュールの呼び出し方法を理解しようとしています

分類Dev

角かっこを使用してモジュールまたはモジュール関数を呼び出す

分類Dev

2つの文字列を使用して、モジュールYから関数Xを呼び出します

分類Dev

onRequestPermissionsResultを使用してReactNative Androidモジュールの権限を処理するにはどうすればよいですか?

分類Dev

Ajax呼び出しの応答を作成して処理する方法

Related 関連記事

  1. 1

    他のモジュールを使用/呼び出して独自のNANDゲートを実装する方法は?

  2. 2

    バックボーン.jsを使用してAjax呼び出しを作成および処理する方法

  3. 3

    djangoで外部APIへの呼び出しを制限する方法

  4. 4

    webpackを使用して外部モジュールでurl(...)を処理する方法

  5. 5

    API呼び出しでRESOURCEEXHAUSTEDエラーを処理する方法

  6. 6

    forループを使用して、光沢のあるモジュールを動的な回数呼び出します

  7. 7

    APIへの非同期呼び出しを処理する方法は?

  8. 8

    API呼び出し全体でnode.jsのグローバルエラー処理コードを使用する方法

  9. 9

    Firebaseを呼び出してデータを取得するループ内の配列を処理/更新する方法

  10. 10

    Firebaseを呼び出してデータを取得するループ内の配列を処理/更新する方法

  11. 11

    forループ内でGoogleMapsAPI呼び出しを処理する方法

  12. 12

    Railsのモジュールを使用してエラー処理を実行する最良の方法は?

  13. 13

    呼び出し元のJavascriptモジュールを参照する方法は?

  14. 14

    RequestsPythonモジュールを使用してcurl呼び出しを行う方法

  15. 15

    一部のモジュールのすべての関数呼び出しを追跡する方法は?

  16. 16

    Python:辞書を使用してモジュール内の関数を呼び出す方法は?

  17. 17

    メインファイルIndex.jsのオブジェクトパラメータを使用してモジュールを呼び出す方法

  18. 18

    API呼び出しのキューをレート制限して結果を返す

  19. 19

    Revealing Module Patternを使用して、あるJSモジュールのパブリックメソッドを別のJSモジュールに呼び出す方法は?

  20. 20

    ファイル数の制限を超えたときにmulterでのアップロード呼び出しによって作成されたエラーを処理する方法は?

  21. 21

    ファイル数の制限を超えたときにmulterでのアップロード呼び出しによって作成されたエラーを処理する方法は?

  22. 22

    汎用モジュールを介して論理データベースを呼び出しますか?

  23. 23

    react-reduxアプリケーションでデフォルトのエラー処理を使用してAPI呼び出しを管理する

  24. 24

    同時API呼び出しを処理する方法

  25. 25

    VBA-クラスモジュールの呼び出し方法を理解しようとしています

  26. 26

    角かっこを使用してモジュールまたはモジュール関数を呼び出す

  27. 27

    2つの文字列を使用して、モジュールYから関数Xを呼び出します

  28. 28

    onRequestPermissionsResultを使用してReactNative Androidモジュールの権限を処理するにはどうすればよいですか?

  29. 29

    Ajax呼び出しの応答を作成して処理する方法

ホットタグ

アーカイブ