すべてのStravaアクティビティデータをGoogle スプレッドシートにエクスポート

中級

これはOther分野の自動化ワークフローで、13個のノードを含みます。主にSet, Code, Sort, Limit, Stravaなどのノードを使用。 すべての Strava アクティビティ データを Google スプレッドシートにエクスポート

前提条件
  • Google Sheets API認証情報

カテゴリー

ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "nodes": [
    {
      "id": "fc128eed-1666-46b8-8feb-e6ddf05e85d1",
      "name": "スケジュールトリガー",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        380,
        240
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "hours",
              "hoursInterval": 2
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "830708eb-197b-4bf7-95da-893d78329ab2",
      "name": "Strava",
      "type": "n8n-nodes-base.strava",
      "position": [
        380,
        480
      ],
      "parameters": {
        "limit": 10,
        "operation": "getAll"
      },
      "typeVersion": 1.1
    },
    {
      "id": "de776ebf-3ad5-4c4c-b0c8-7bc74cba5446",
      "name": "コード",
      "type": "n8n-nodes-base.code",
      "position": [
        380,
        740
      ],
      "parameters": {
        "jsCode": "// Obtén los items del nodo \"Strava\"\nconst stravaItems = $('strava_last').all();\n\n// Obtén los items del nodo \"ultimas_id\"\nconst ultimasGuardadasItems = $('saved_last').all();\n\n// Extrae las referencias guardadas en un Set, asegurando el formato como cadena\nconst referenciasGuardadas = new Set(\n    ultimasGuardadasItems.map(item => String(item.json.id))\n);\n\n// Filtra los items de \"Strava\" cuyos IDs no estén en las referencias guardadas\nconst filteredItems = stravaItems.filter(item => {\n    // Convertir el ID actual de Strava a cadena para comparar correctamente\n    return !referenciasGuardadas.has(String(item.json.id));\n});\n\n// Depuración: imprime las referencias y los resultados\nconsole.log('Referencias guardadas:', [...referenciasGuardadas]);\nconsole.log('Items filtrados:', filteredItems);\n\n// Devuelve los items filtrados\nreturn filteredItems;\n\n\n"
      },
      "typeVersion": 2
    },
    {
      "id": "c8a93e6e-67fc-4f6d-bcde-83d3a885c622",
      "name": "Google スプレッドシート",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        900,
        740
      ],
      "parameters": {
        "columns": {
          "value": {
            "Kms": "={{ $json.distancia }}",
            "Ref": "={{ $json.id }}",
            "Fecha": "={{ $json.fecha }}",
            "Track": "=http://www.strava.com/activities/{{ $json.id }}",
            "Tiempo": "={{ $json.tiempo }}",
            "Desnivel": "={{ $json.elevacion }}"
          },
          "schema": [
            {
              "id": "Fecha",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Fecha",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Kms",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Kms",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Tiempo",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Tiempo",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Ref",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Ref",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Track",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Track",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Bicicleta",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Bicicleta",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Terreno",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Terreno",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Desnivel",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Desnivel",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": []
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 419561402,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/159k8cDL8hZooz-dsHE6ueWf68mBkHhxVCKnWm-lYLqs/edit#gid=419561402",
          "cachedResultName": "n8n"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "159k8cDL8hZooz-dsHE6ueWf68mBkHhxVCKnWm-lYLqs",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/159k8cDL8hZooz-dsHE6ueWf68mBkHhxVCKnWm-lYLqs/edit?usp=drivesdk",
          "cachedResultName": "Sherlo_Bike"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "tyg7FJlIITkSazyi",
          "name": "Nik's Google"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "0ce07d54-97af-4e88-9d27-452191a0b3ba",
      "name": "strava_last",
      "type": "n8n-nodes-base.set",
      "position": [
        1420,
        480
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "423ae4b8-287c-4dc1-b32b-d1b6f1f45efa",
              "name": "id",
              "type": "number",
              "value": "={{ $json.id }}"
            },
            {
              "id": "595802d2-17d0-40be-9e43-d655ffbf4ce0",
              "name": "fecha",
              "type": "string",
              "value": "={{ DateTime.fromISO($json.start_date_local).toFormat('d/M/yyyy') }}"
            },
            {
              "id": "4b39d783-19f2-4a7e-b0e6-dbe2b98f1ae0",
              "name": "distancia",
              "type": "number",
              "value": "={{ Math.round($json.distance / 100) / 10 }}"
            },
            {
              "id": "2f321dc0-435f-4b4d-866c-091ff9eaf9df",
              "name": "elevacion",
              "type": "number",
              "value": "={{ Math.round($json.total_elevation_gain) }}"
            },
            {
              "id": "ba1bb089-5ae7-4e42-ac65-07323c4e1842",
              "name": "tiempo",
              "type": "string",
              "value": "={{ `${Math.floor($json.moving_time / 3600)}:${Math.floor(($json.moving_time % 3600) / 60).toString().padStart(2, '0')}:${($json.moving_time % 60).toString().padStart(2, '0')}` }}\n"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "490f7be9-73c9-4431-8b83-fcdbbcc283eb",
      "name": "重複削除",
      "type": "n8n-nodes-base.removeDuplicates",
      "position": [
        900,
        480
      ],
      "parameters": {
        "compare": "selectedFields",
        "options": {},
        "fieldsToCompare": "id"
      },
      "typeVersion": 2
    },
    {
      "id": "2d1c4dc5-2baa-4c89-a312-4b40381d4e5d",
      "name": "activities",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        660,
        240
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 419561402,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/159k8cDL8hZooz-dsHE6ueWf68mBkHhxVCKnWm-lYLqs/edit#gid=419561402",
          "cachedResultName": "n8n"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "159k8cDL8hZooz-dsHE6ueWf68mBkHhxVCKnWm-lYLqs",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/159k8cDL8hZooz-dsHE6ueWf68mBkHhxVCKnWm-lYLqs/edit?usp=drivesdk",
          "cachedResultName": "Sherlo_Bike"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "tyg7FJlIITkSazyi",
          "name": "Nik's Google"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "2c7b7939-4ca1-4868-92bf-5fd7384a1103",
      "name": "sort_saved",
      "type": "n8n-nodes-base.sort",
      "position": [
        900,
        240
      ],
      "parameters": {
        "options": {},
        "sortFieldsUi": {
          "sortField": [
            {
              "fieldName": "Ref"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "4e1d9064-6dda-4a01-af48-f278792f8b6b",
      "name": "last_saved",
      "type": "n8n-nodes-base.limit",
      "position": [
        1160,
        240
      ],
      "parameters": {
        "keep": "lastItems",
        "maxItems": 10
      },
      "typeVersion": 1
    },
    {
      "id": "6eb2053a-1101-477b-86e9-113813be2d92",
      "name": "saved_last",
      "type": "n8n-nodes-base.set",
      "position": [
        1420,
        240
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "50097932-ab91-4af7-9412-925fab1982f0",
              "name": "id",
              "type": "string",
              "value": "={{ $json.Ref }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "afd986f1-0c49-4a69-b948-aefcbff1010f",
      "name": "sort_strava",
      "type": "n8n-nodes-base.sort",
      "position": [
        660,
        480
      ],
      "parameters": {
        "options": {},
        "sortFieldsUi": {
          "sortField": [
            {
              "fieldName": "id"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "16094d29-f35b-492c-9d93-3145dab30cd3",
      "name": "last_strava",
      "type": "n8n-nodes-base.limit",
      "position": [
        1160,
        480
      ],
      "parameters": {
        "keep": "lastItems",
        "maxItems": 10
      },
      "typeVersion": 1
    },
    {
      "id": "9986360b-fcd3-42f4-ad13-aea69f6d1a80",
      "name": "sort_results",
      "type": "n8n-nodes-base.sort",
      "position": [
        660,
        740
      ],
      "parameters": {
        "options": {},
        "sortFieldsUi": {
          "sortField": [
            {
              "fieldName": "id"
            }
          ]
        }
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "Code": {
      "main": [
        [
          {
            "node": "9986360b-fcd3-42f4-ad13-aea69f6d1a80",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "830708eb-197b-4bf7-95da-893d78329ab2": {
      "main": [
        [
          {
            "node": "afd986f1-0c49-4a69-b948-aefcbff1010f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2d1c4dc5-2baa-4c89-a312-4b40381d4e5d": {
      "main": [
        [
          {
            "node": "2c7b7939-4ca1-4868-92bf-5fd7384a1103",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "4e1d9064-6dda-4a01-af48-f278792f8b6b": {
      "main": [
        [
          {
            "node": "6eb2053a-1101-477b-86e9-113813be2d92",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6eb2053a-1101-477b-86e9-113813be2d92": {
      "main": [
        [
          {
            "node": "830708eb-197b-4bf7-95da-893d78329ab2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2c7b7939-4ca1-4868-92bf-5fd7384a1103": {
      "main": [
        [
          {
            "node": "4e1d9064-6dda-4a01-af48-f278792f8b6b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "16094d29-f35b-492c-9d93-3145dab30cd3": {
      "main": [
        [
          {
            "node": "0ce07d54-97af-4e88-9d27-452191a0b3ba",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "afd986f1-0c49-4a69-b948-aefcbff1010f": {
      "main": [
        [
          {
            "node": "Remove Duplicates",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "0ce07d54-97af-4e88-9d27-452191a0b3ba": {
      "main": [
        [
          {
            "node": "Code",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9986360b-fcd3-42f4-ad13-aea69f6d1a80": {
      "main": [
        [
          {
            "node": "Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "2d1c4dc5-2baa-4c89-a312-4b40381d4e5d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Remove Duplicates": {
      "main": [
        [
          {
            "node": "16094d29-f35b-492c-9d93-3145dab30cd3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

このワークフローの使い方は?

上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。

このワークフローはどんな場面に適していますか?

中級 - その他

有料ですか?

このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。

ワークフロー情報
難易度
中級
ノード数13
カテゴリー1
ノードタイプ8
難易度説明

経験者向け、6-15ノードの中程度の複雑さのワークフロー

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34