微信公众号贴图 API은(는) 무엇을 하나요?
오직 api.weixin.qq.com 공식 API만 사용하여 이미지 뉴스 초안을 생성하고 검증합니다. 브라우저를 시작하지 않으며, 발행, 그룹 전송 또는 삭제 API를 호출하지 않고 RPA 대체 수단도 제공하지 않습니다.
환경
Windows 및 PowerShell 7.2+가 필요합니다. AppSecret은 현재 Windows 사용자의 DPAPI로 암호화되어 기본적으로 $env:CODEX_HOME\secrets에 저장됩니다. CODEX_HOME이 설정되지 않은 경우 $env:USERPROFILE\.codex\secrets가 사용됩니다. 네트워크 요청은 PowerShell 프로세스 내에서 완료되며 액세스 토큰이 외부 명령으로 전달되지 않습니다.
입력 및 오프라인 검증
실행 전에 references/package-contract.md를 완전히 읽으십시오.素材 디렉토리(素材目录)는 image-post.json과 1~20개의 이미지를 포함해야 합니다. account 필드는 반드시 명시적으로 입력해야 하며, 댓글(留言) 필드는 생략할 수 없습니다.
먼저 Skill을 찾은 후 오프라인으로 검증합니다.
$codexHome = if ($env:CODEX_HOME) { $env:CODEX_HOME } else { Join-Path $env:USERPROFILE '.codex' }
$skill = Join-Path $codexHome 'skills\wechat-image-api'
& (Join-Path $skill 'scripts\Test-WeChatImagePackage.ps1') -InputFolder 'D:\贴图素材目录'
전체 예제가 필요한 경우, 아직 예제 파일이 포함되지 않은 새 디렉토리에서 다음을 생성하고 검증합니다.
& (Join-Path $skill 'scripts\New-WeChatImagePackageExample.ps1') -OutputFolder 'D:\贴图示例'
첫 설정
두 개의 WeChat API Skill이 동일한 DPAPI 자격 증명을 공유할 수 있습니다. 자격 증명이 없을 경우, 사용자가 채팅에서 AppSecret을 붙여넣도록 허용하지 마십시오. 대신 로컬 대화형 설정을 실행하십시오.
& (Join-Path $skill 'scripts\Set-WeChatOfficialAccountCredential.ps1')
& (Join-Path $skill 'scripts\Test-WeChatOfficialAccountApi.ps1')
두 번째 명령은 AppID, AppSecret, 초안 권한 및 IP 화이트리스트를 검증합니다.素材 패키지의 account는 설정 시 저장된 공식 계정 이름과 완전히 일치해야 합니다.
WeChat이 40164 invalid ip를 반환하면 즉시 중단하고 오류에 포함된 공용 IP를 사용자에게 알린 후, "설정과 개발 → 개발 인터페이스 관리 → IP 화이트리스트"에 해당 IP를 추가하도록 안내합니다. 사용자 확인 후에만 동일한 공식 API를 재시도합니다. 브라우저, RPA, 쿠키 프로필 또는 기타 발행 채널로 전환하는 것을 금지합니다.
초안 생성 및 검증
사용자가 초안 작성을 명시적으로 요청한 경우에만 다음을 실행합니다.
& (Join-Path $skill 'scripts\Publish-WeChatImageDraft.ps1') -InputFolder 'D:\贴图素材目录'
스크립트는 이미지를 material/add_material에 하나씩 업로드한 다음 draft/add를 사용하여 newspic 초안을 생성합니다. 첫 번째 이미지가 WeChat에 의해 표지로 사용됩니다. 마지막으로 draft/get을 사용하여 계정, 제목, 본문, 이미지 순서, 댓글 설정 및 media_id를 다시 읽어와 확인합니다.
멱등성 및 예외 처리 경계
- 각素材 디렉토리에는 독점 잠금(独占锁)이 사용되며, 동일한 디렉토리에서 동시에 실행할 수 없습니다.
- 체크포인트는
media_id수신이 확인된 후에만 진행됩니다. 이미 기록된 초안 ID가 있으면 재실행 시 초안을 다시 생성하지 않고 다시 읽어와 검증만 수행합니다. - 이미지 업로드 또는
draft/add제출 단계 중 네트워크나 프로세스가 중단되면 결과가 불확실해질 수 있습니다. 후속 실행은 중단되어야 하며 자동 재시도는 금지됩니다.素材 라이브러리나 초안함을 수동으로 확인한 후 새 디렉토리로 계속 진행하십시오. -素材의 지문(指纹)이 변경되었지만 기존 체크포인트가 있는 경우 중단되며, 자동으로 상태를 지우지 않습니다. - 상태와 수신 확인은 동일한 디렉토리의 임시 파일을 원자적으로 교체하여 사용하므로 잘린 JSON 조각이 남지 않습니다.
draft/get을 통해 모든 필드를 다시 읽어와 모두 통과한 경우에만 "초안 생성 및 검증 완료"를 보고합니다. "발행됨"으로 보고하지 마십시오.- 수신 확인은
wechat-image-api-receipt.json에 기록됩니다. 공식 API 중 하나라도 실패하면 해당 위치에서 보고하며, 이 Skill에는 브라우저/RPA 대체 수단이 없습니다.