강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

묭묭님의 프로필 이미지
묭묭

작성한 질문수

원클릭으로 AI가 생성해주는 Youtube 쇼츠 만들기 자동화(with n8n)

Recraft에게 AI 이미지 생성 요청하기

IMG - JSON 병합 및 ID추가 질문

작성

·

51

1

안녕하세요.
n8n의 새로운 Python (Native) (Beta) 런타임은 보안 및 실행 환경 제어를 위해 이처럼 다른 노드의 데이터를 참조하는 비표준 _ 헬퍼 함수를 지원하지 않는다고 합니다.
아래 코드 수정이 필요해 보입니다.

# n8n Code (Python) node

merged = {}

# 1) 모든 아이템의 json을 순서대로 병합 (뒤에 오는 값이 우선)

for item in items:

merged.update(item.get("json", {}))

# 2) ID 추가

merged["ID"] = _('IMG - 시트 행 가져오기').first().json.ID

# 3) 단일 아이템으로 반환

return [{"json": merged}]

답변 5

1

묭묭님의 프로필 이미지
묭묭
질문자

업데이트 해주신 부분으로 해보니 잘 됩니다 감사합니다.

잘 실행된다니 다행입니다!

감사합니다~

1

안녕하세요!

제가 들어가서 확인하고 답변드리도록 하겠습니다

감사합니다!

0

안녕하세요 미현님

아래 승민님 제보로 파이썬이 아직 Beta라서 문제가 있다는 걸 알게 되었습니다.

일단 해당 노드를 Python대신 JavaScript로 바꿔서 아래 코드를 입력해서 진행해주시면 됩니다.

아마 아래 코드대로 실행하면 잘 되실거에요.

강의에도 곧 업데이트 해두도록 하겠습니다. 감사합니다!

// 1) 모든 입력 아이템의 json을 순서대로 병합
const merged = {};
for (const item of $input.all()) {
  Object.assign(merged, item.json);
}

// 2) 'IMG - 시트 행 가져오기' 노드의 첫 번째 아이템에서 ID를 가져와 추가
merged.ID = $('IMG - 시트 행 가져오기').first().json.ID

return [{
  json: merged
}];

저도 파이썬이 안되어 자바스크립트로 하니 한번에 해결되었습니다.

감사합니다!!

0

그리고 혹시 미현님 말씀대로 버전 문제인 가능성도 있으니 settings가셔서 버전한번 봐주시겠어요?

저는 사진처럼

1.117.3 버전으로 테스트해봤습니다.

image.png

 

0

안녕하세요 안미현님

제가 최신버전의 n8n에 새로 가입해서 기존 노드들을 실행해봤는데 잘 작동되는것을 확인했습니다.

코드 문제가 아닐 가능성이 있어 보여요.

merged["ID"] = _('IMG - 시트 행 가져오기').first().json.ID

이 부분에서 _('IMG - 시트 행 가져오기').first().json.ID

여기에서 에러가 발생한게 아닐까 싶거든요?

제 코드를 그대로 치지 마시고

merged["ID"] =

여기까지만 치고 우측 부분은 IMG - 시트 행 가져오기 노드에서 ID를 끌어와서 넣는 식으로 한번 해보시겠어요?

파이썬 말고 자바스크립트로 작성해야할거같아요.

저는 자바스크립트로 하니까 잘 되더라구요.

 

그리고 파이썬 사용하니까.. 드래그해서 ID 가 안가져와지더라구요...

저도 안되서 수정한다고 API 돈 많이 쓰면서 테스트해봤습니다 또르륵ㅜ.ㅜ..

그렇군요

승민님 제보 감사드립니다

저도 그러면 자바스크립트 코드 버전으로도 강의를 추가해놔야겠네요~

감사합니다!

묭묭님의 프로필 이미지
묭묭

작성한 질문수

질문하기