8
n8n 한국어amn8n.com

Google Sheets, Drive, Cloudinary 및 Graph API를 사용한 Instagram 캐러셀 자동 게시

중급

이것은Content Creation, Multimodal AI분야의자동화 워크플로우로, 15개의 노드를 포함합니다.주로 Set, Aggregate, GoogleDrive, HttpRequest, GoogleSheets 등의 노드를 사용하며. Google Sheets, Drive, Cloudinary 및 Graph API를 사용하여 Instagram 캐러셀 자동 게시

사전 요구사항
  • Google Drive API 인증 정보
  • 대상 API의 인증 정보가 필요할 수 있음
  • Google Sheets API 인증 정보
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "meta": {
    "instanceId": "0a25db4fd0692af64b58f35e01611f2ef0b5bb9d6654c57ef3741021e7d8cc11",
    "templateId": "5833"
  },
  "nodes": [
    {
      "id": "f0c8b3af-13db-4fdd-8cbc-46986ca7dd18",
      "name": "Google Drive 폴더에서 이미지 목록 가져오기",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1824,
        560
      ],
      "parameters": {
        "filter": {
          "folderId": {
            "__rl": true,
            "mode": "url",
            "value": "={{ $('Get Execution for Carousel').item.json.Folder }}"
          }
        },
        "options": {
          "fields": [
            "id",
            "name",
            "thumbnailLink",
            "webViewLink"
          ]
        },
        "resource": "fileFolder",
        "returnAll": true,
        "queryString": "="
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "01wemhcagGbSGx8L",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "51f669e2-d933-47ce-9892-ba18bfaf92de",
      "name": "캐러셀 실행 가져오기",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1600,
        560
      ],
      "parameters": {
        "options": {},
        "filtersUI": {
          "values": [
            {
              "lookupValue": "ToDo",
              "lookupColumn": "Status"
            },
            {
              "lookupValue": "Carousel",
              "lookupColumn": "Type"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1315784118,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1WEUHeQXFMYsWVAW3DykWwpANxxD3DxH-S6c0i06dW1g/edit#gid=1315784118",
          "cachedResultName": "Execute "
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1WEUHeQXFMYsWVAW3DykWwpANxxD3DxH-S6c0i06dW1g",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1WEUHeQXFMYsWVAW3DykWwpANxxD3DxH-S6c0i06dW1g/edit?usp=drivesdk",
          "cachedResultName": "0004_Master"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "cjPjcwa3RdiMAu79",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "8c2b669d-9185-469f-9084-7075ffce5a90",
      "name": "일정 트리거",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        1376,
        560
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "minutes"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "00027ef7-ece6-4b31-ad04-6508684b33ac",
      "name": "이미지를 Cloudinary에 업로드",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2272,
        560
      ],
      "parameters": {
        "url": "https://api.cloudinary.com/v1_1/<your-cloud-name>/image/upload",
        "method": "POST",
        "options": {
          "response": {
            "response": {
              "responseFormat": "json"
            }
          }
        },
        "sendBody": true,
        "contentType": "multipart-form-data",
        "bodyParameters": {
          "parameters": [
            {
              "name": "file",
              "parameterType": "formBinaryData",
              "inputDataFieldName": "data"
            },
            {
              "name": "upload_preset",
              "value": "<your_upload_preset>"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "7b22ae20-73c9-44f0-8f87-673836a47a25",
      "name": "Instagram 설정 (액세스 토큰, ig_business_id)",
      "type": "n8n-nodes-base.set",
      "position": [
        1248,
        832
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "5b2dad43-2ec9-4bc0-8427-c9bab6a5fc2c",
              "name": "access_token",
              "type": "string",
              "value": "<your-instagram-access-token>"
            },
            {
              "id": "55b08009-fd62-44b8-b21e-6dde6aa9594f",
              "name": "ig_user_id",
              "type": "string",
              "value": "<your-ig_user_id>"
            },
            {
              "id": "53127a63-5583-4a5b-84bf-d2efd439af2b",
              "name": "image_url",
              "type": "string",
              "value": "={{ $json.url }}"
            },
            {
              "id": "90a680ca-49c2-4b83-bbf4-45614e882c01",
              "name": "caption",
              "type": "string",
              "value": "={{ $('Get Execution for Carousel').item.json['Expected content'] }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "8f7f2ba9-4157-40a2-8561-17e77c74baef",
      "name": "Google Drive에서 이미지 다운로드 (캐러셀)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2048,
        560
      ],
      "parameters": {
        "url": "=https://drive.google.com/uc?export=download&id={{ $json.id }}",
        "options": {
          "response": {
            "response": {
              "fullResponse": true,
              "responseFormat": "file"
            }
          }
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "09cb809c-9997-413c-b94f-9203e80eaa1d",
      "name": "미디어 컨테이너 생성 (이미지)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1472,
        832
      ],
      "parameters": {
        "url": "=https://graph.instagram.com/v23.0/{{ $json.ig_user_id }}/media",
        "method": "POST",
        "options": {
          "response": {
            "response": {
              "fullResponse": true
            }
          }
        },
        "sendBody": true,
        "contentType": "form-urlencoded",
        "bodyParameters": {
          "parameters": [
            {
              "name": "image_url",
              "value": "={{ $json.image_url }}"
            },
            {
              "name": "caption",
              "value": "={{ $json.caption }}"
            },
            {
              "name": "access_token",
              "value": "={{ $json.access_token }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "d0453b3b-5c36-4a27-a808-65893674d451",
      "name": "Instagram 미디어 컨테이너 결합",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        1696,
        832
      ],
      "parameters": {
        "options": {
          "mergeLists": true
        },
        "fieldsToAggregate": {
          "fieldToAggregate": [
            {
              "fieldToAggregate": "body.id"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "04b3998b-3fb1-4128-a77c-7ea8029235a0",
      "name": "미디어 컨테이너 생성 (캐러셀)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1920,
        832
      ],
      "parameters": {
        "url": "=https://graph.instagram.com/v23.0/{{ $('Setup for Instagram (access token, ig_business_id)').first().json.ig_user_id }}/media",
        "method": "POST",
        "options": {
          "response": {
            "response": {
              "fullResponse": true
            }
          }
        },
        "sendBody": true,
        "contentType": "form-urlencoded",
        "bodyParameters": {
          "parameters": [
            {
              "name": "caption",
              "value": "={{ $('Get Execution for Carousel').item.json['Expected content'] }}"
            },
            {
              "name": "media_type",
              "value": "=CAROUSEL"
            },
            {
              "name": "children",
              "value": "={{ $json.id }}"
            },
            {
              "name": "access_token",
              "value": "={{ $('Setup for Instagram (access token, ig_business_id)').first().json.access_token }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "662e0de0-26b0-4045-ae9e-e2f5b630419f",
      "name": "Instagram 캐러셀 게시",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2144,
        832
      ],
      "parameters": {
        "url": "=https://graph.instagram.com/v23.0/{{ $('Setup for Instagram (access token, ig_business_id)').first().json.ig_user_id }}/media_publish",
        "method": "POST",
        "options": {
          "response": {
            "response": {
              "responseFormat": "json"
            }
          }
        },
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "creation_id",
              "value": "={{ $json.body.id }}"
            },
            {
              "name": "access_token",
              "value": "={{ $('Setup for Instagram (access token, ig_business_id)').first().json.access_token }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "8f4ad80f-53e2-4c86-be4a-02f4f8bb630e",
      "name": "실행 상태를 '처리됨'으로 업데이트",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2368,
        832
      ],
      "parameters": {
        "columns": {
          "value": {
            "Status": "Processed",
            "ExecuteId": "={{ $('Get Execution for Carousel').item.json.ExecuteId }}"
          },
          "schema": [
            {
              "id": "ExecuteId",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "ExecuteId",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Folder",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Folder",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Expected content",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Expected content",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Language",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Language",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Type",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Type",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Schedule_at",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Schedule_at",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "row_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "ExecuteId"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1315784118,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1WEUHeQXFMYsWVAW3DykWwpANxxD3DxH-S6c0i06dW1g/edit#gid=1315784118",
          "cachedResultName": "Execute "
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1WEUHeQXFMYsWVAW3DykWwpANxxD3DxH-S6c0i06dW1g",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1WEUHeQXFMYsWVAW3DykWwpANxxD3DxH-S6c0i06dW1g/edit?usp=drivesdk",
          "cachedResultName": "0004_Master"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "cjPjcwa3RdiMAu79",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "32b01069-b985-4647-abaa-ac667c38e79b",
      "name": "메모",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1184,
        368
      ],
      "parameters": {
        "color": 4,
        "width": 368,
        "height": 144,
        "content": "## STEP 1 · Schedule & Pick Jobs\n**Schedule Trigger** runs every X minutes.\n**Sheets (Execute)** filters rows: `Status=ToDo` + `Type=Carousel`.\nTip: use `ExecuteId` as the unique key for updates."
      },
      "typeVersion": 1
    },
    {
      "id": "13b43b13-794e-4599-a6ab-e341970bdeb9",
      "name": "메모1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1728,
        368
      ],
      "parameters": {
        "color": 5,
        "width": 336,
        "content": "## STEP 2 · Collect Assets\n**Drive list** reads images from the Folder in the row.\n**HTTP download** fetches each file as binary.\nTip: private Drive files need OAuth download (or make them publicly readable)."
      },
      "typeVersion": 1
    },
    {
      "id": "31ef9def-afe5-4a94-94e9-f3f487804021",
      "name": "메모2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2176,
        400
      ],
      "parameters": {
        "color": 6,
        "width": 384,
        "height": 128,
        "content": "## STEP 3 · Host Images\n**Cloudinary upload** receives binary → returns URL.\nUse `secure_url` for Instagram.\nTip: prefer **signed uploads**; keep preset locked down."
      },
      "typeVersion": 1
    },
    {
      "id": "ffb028a5-4b45-4e0b-ba99-0f48cd17ad31",
      "name": "메모3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2496,
        592
      ],
      "parameters": {
        "color": 7,
        "height": 256,
        "content": "## STEP 4 · IG Carousel & Log\n**Set IG vars** (token, user id, caption).\nCreate **media container** per image → **Aggregate IDs** → **Create carousel** → **Publish**.\nFinally **update Sheets**: `Status=Processed` for that `ExecuteId`."
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "8c2b669d-9185-469f-9084-7075ffce5a90": {
      "main": [
        [
          {
            "node": "51f669e2-d933-47ce-9892-ba18bfaf92de",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "51f669e2-d933-47ce-9892-ba18bfaf92de": {
      "main": [
        [
          {
            "node": "f0c8b3af-13db-4fdd-8cbc-46986ca7dd18",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "662e0de0-26b0-4045-ae9e-e2f5b630419f": {
      "main": [
        [
          {
            "node": "8f4ad80f-53e2-4c86-be4a-02f4f8bb630e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "00027ef7-ece6-4b31-ad04-6508684b33ac": {
      "main": [
        [
          {
            "node": "7b22ae20-73c9-44f0-8f87-673836a47a25",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "09cb809c-9997-413c-b94f-9203e80eaa1d": {
      "main": [
        [
          {
            "node": "d0453b3b-5c36-4a27-a808-65893674d451",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "04b3998b-3fb1-4128-a77c-7ea8029235a0": {
      "main": [
        [
          {
            "node": "662e0de0-26b0-4045-ae9e-e2f5b630419f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d0453b3b-5c36-4a27-a808-65893674d451": {
      "main": [
        [
          {
            "node": "04b3998b-3fb1-4128-a77c-7ea8029235a0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f0c8b3af-13db-4fdd-8cbc-46986ca7dd18": {
      "main": [
        [
          {
            "node": "8f7f2ba9-4157-40a2-8561-17e77c74baef",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8f7f2ba9-4157-40a2-8561-17e77c74baef": {
      "main": [
        [
          {
            "node": "00027ef7-ece6-4b31-ad04-6508684b33ac",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7b22ae20-73c9-44f0-8f87-673836a47a25": {
      "main": [
        [
          {
            "node": "09cb809c-9997-413c-b94f-9203e80eaa1d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

이 워크플로우를 어떻게 사용하나요?

위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.

이 워크플로우는 어떤 시나리오에 적합한가요?

중급 - 콘텐츠 제작, 멀티모달 AI

유료인가요?

이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.

워크플로우 정보
난이도
중급
노드 수15
카테고리2
노드 유형7
난이도 설명

일정 경험을 가진 사용자를 위한 6-15개 노드의 중간 복잡도 워크플로우

저자
Meak

Meak

@meak

I help people build $5k+/month online by starting their own AI agency. Without BS.

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34