TikTok을 Social Quack에 연결하기 — 전체 가이드
TikTok은 클릭 두 번이 아니라 양식 하나와 짧은 화면 녹화가 있어야 연결되는 유일한 플랫폼입니다. 이 페이지를 따라 하시면 20분 정도면 끝나며, 입력할 답변도 모두 붙여 넣기만 하면 되도록 준비해 두었습니다. 한 번만 하시면 됩니다.
TikTok의 심사를 건너뛰고 싶으신가요? 대신 Zernio를 통해 연결하세요. 키 하나를 붙여 넣고 로그인한 뒤 게시하면 됩니다 — 몇 분이면 되고 양식도 없습니다. Zernio 가이드를 참고하세요. 이 페이지는 내 개발자 앱으로 직접 하는 방법입니다.
두 단계로 나뉘며, 1단계만 끝내도 게시를 시작하실 수 있습니다.
| 단계 | 얻는 것 | 소요 시간 |
|---|---|---|
| 1. 앱 만들기 | 계정을 연결하고 게시할 수 있습니다 — 다만 TikTok이 앱을 심사하기 전까지 게시물은 비공개(나만 볼 수 있음)입니다 | 약 10분 |
| 2. 심사 제출하기 | 공개 게시 | 내 시간으로 약 10분, 이후 TikTok 쪽에서 영업일 기준 1–5일 |
1단계 — 내 TikTok 개발자 앱 만들기
- https://developers.tiktok.com 으로 가서 TikTok 계정으로 로그인하세요. (이메일 인증과 개발자 약관 동의를 요청받을 수 있습니다.)
- Manage apps → Connect an app. 다음을 채우세요.
- App name: 아무거나 괜찮습니다. 예:
My Social Quack - App icon: 1024×1024 이미지 아무거나(로고나 사진)
- Category: Productivity(또는 가장 가까운 항목)
- Description: 아래 '그대로 붙여 넣는 답변'에 있는 설명을 붙여 넣으세요
- Terms of Service URL:
https://socialquack.com/terms· Privacy Policy URL:https://socialquack.com/privacy - Platform: Desktop에 체크하세요
- App name: 아무거나 괜찮습니다. 예:
- Add products(왼쪽 사이드바): Login Kit와 Content Posting API를 추가하세요.
- Content Posting API에서 Direct Post를 켜세요.
- Login Kit → Redirect URI: Desktop에 체크하고 Social Quack에 표시된 리디렉션 URI를 그대로 붙여 넣으세요(Channels(채널) → TikTok → Set up keys ▾ → Set up app keys(키 설정 → 앱 키 설정) —
http://localhost:4400/oauth/tiktok/callback처럼 생겼습니다). 저장하세요.왜 Web이 아니라 Desktop일까요? Social Quack은 내 컴퓨터에서 실행됩니다. TikTok의 Desktop 플랫폼은
localhost리디렉션을 허용하고 도메인 인증을 요구하지 않습니다. Web은 요구합니다. - Scopes: 제품 아래에 다음 세 가지가 모두 들어 있는지 확인하세요:
user.info.basic,video.upload,video.publish. - Sandbox 만들기 — 모두가 놓치는 단계입니다. TikTok이 앱을 심사하기 전까지는 기본("production") 클라이언트 키가
unauthorized_client로 거부됩니다. 앱 페이지에서 Sandbox(오른쪽 위) → Create sandbox를 클릭하세요. 같은 제품(Login Kit, Direct Post를 켠 Content Posting API), 같은 scope, 같은 Redirect URI를 넣고, Target users에 내 TikTok 사용자 이름을 추가하세요. - Sandbox → Client key / Client secret: 두 값을 모두 Social Quack(Channels → TikTok → Set up keys ▾ → Set up app keys)에 복사해 넣고 Connect(연결)를 클릭하세요. TikTok 로그인 페이지에서 승인하시면 계정이 Connected 아래에 나타납니다.
- 테스트에는 버려도 되는 TikTok 계정을 쓰세요. Sandbox 앱은 비공개 계정에만 게시할 수 있습니다(그렇지 않으면
unaudited_client_can_only_post_to_private_accounts). 그렇다고 실제 계정을 비공개로 바꾸고 싶지는 않으실 겁니다. 새 TikTok 계정(이메일은 아무거나)을 만들어 비공개로 설정하고(Profile → ☰ → Settings and privacy → Privacy → Private account), 그 사용자 이름을 Sandbox의 Target users에 추가한 뒤, Social Quack에서는 그 계정을 연결하세요. - Compose(작성)에서 테스트 동영상을 올려 보세요. TikTok 채널에 체크하면 TikTok options(TikTok 옵션) 패널이 나타납니다 — 게시물을 볼 수 있는 사람(Sandbox에서는 "Only you"만 제공됩니다), 댓글/Duet/Stitch 스위치, 상업적 콘텐츠 여부를 고르세요. 버려도 되는 계정에 게시됩니다. 이것으로 1단계가 끝났습니다.
심사가 승인된 뒤에는: Edit keys ▾ → Edit app keys(키 수정 → 앱 키 수정)로 돌아가 앱의 production Client key/secret(Sandbox가 아니라 App details에 있는 값)을 붙여 넣고 Connect를 클릭하세요 — 이번에는 실제 계정으로요. 그때부터 공개 범위 선택에 Everyone / Friends / Followers / Only you가 나타납니다.
사진 게시물에는 한 단계가 더 필요합니다. TikTok은 사진을 공개 URL에서 가져가므로 Social Quack의 Settings(설정)에서 Media hosting(미디어 호스팅)을 설정한 다음, TikTok 앱에서 Content Posting API → URL properties를 열고 그 도메인을 인증하세요. 동영상에는 필요 없습니다.
2단계 — 심사 제출하기(비공개 전용 제한 해제)
개발자 포털에서 앱을 열고 → Submit for review. TikTok은 세 가지를 묻습니다. 각 제품과 scope에 대한 설명, 데모 동영상, 그리고 앱의 기본 정보입니다. 필요한 것은 모두 아래에 있습니다.
그대로 붙여 넣는 답변
TikTok의 심사 양식은 영어이므로, 아래 답변은 영어 그대로 붙여 넣으세요.
App description
Personal social-media scheduling tool. I write posts on my own computer (Social Quack, a self-hosted scheduler that runs locally on my Mac/PC) and it publishes them to my own TikTok account at the scheduled time. Single user: me. No data about other TikTok users is collected or stored; nothing runs on a server.
Explain how each product and scope works within your app
Login Kit — used once to sign in with my own TikTok account so the app can obtain an access token for that account. The token is stored encrypted on my computer only.
Content Posting API (Direct Post) — used to publish videos and photo posts that I create and schedule myself. The app uploads the video file directly (FILE_UPLOAD) at the scheduled time with the caption I wrote, using the privacy level I chose.
user.info.basic — reads my own display name, avatar and username to show which account is connected in the app.
video.upload — uploads the video file to TikTok for a post I scheduled.
video.publish — publishes that upload as a post on my own account, with my caption and privacy setting.
Data handling: the app is local-only software. Access tokens are stored encrypted on my device, never transmitted to any third-party server, and are deleted when I disconnect the account. No content or data from other users is accessed.
"Does your app allow users to post publicly?"라고 물으면 → Yes — the user chooses the privacy level (public, friends, or private) for each post, matching what they'd pick in the TikTok app.
웹사이트나 사용자가 앱에 접근하는 방법을 물으면 → Desktop application installed on the user's computer; the website is https://socialquack.com.
데모 동영상 — 무엇을 녹화하나
TikTok은 홍보 영상이 아니라 실제 흐름을 보고 싶어 합니다. 60–90초짜리 화면 녹화면 충분합니다. Mac: QuickTime → File → New Screen Recording 또는 ⌘⇧5. 음성 설명은 필요 없습니다. 자막이 있으면 좋지만 선택 사항입니다.
대본(순서대로 따라 하세요 — 심사자는 바로 이 장면들을 찾습니다):
- (0:00) Social Quack을 여세요. Channels 페이지를 잠깐 보여 주세요.
- (0:05) TikTok에서 Connect를 클릭하세요. 브라우저에서 TikTok 로그인 페이지가 열립니다 — scope(user info, upload, publish)가 나열된 권한 화면을 보여 주고 Authorize를 클릭하세요. Social Quack으로 돌아와 내 TikTok 계정이 이제 Connected 아래에 있는 것을 보여 주세요.
- (0:25) Compose로 가세요. 문구를 입력하고 Upload를 클릭해 짧은 동영상을 첨부한 뒤 TikTok 채널에 체크하세요. 나타나는 TikTok options 패널에서 잠시 머무르세요 — 심사자가 확인하는 부분입니다. "Posting to TikTok as …" 줄을 보여 주고, Who can see this post 드롭다운을 열어 값 하나를 고르고, Allow comments / Duet / Stitch 스위치를 보여 주고, Disclose commercial content를 켰다 꺼서 Your brand / Branded content가 나타나게 하고, "By posting, you agree to TikTok's Music Usage Confirmation" 줄이 화면에 보이게 하세요. 그런 다음 1–2분 뒤의 시각을 고르세요(또는 Post now(지금 게시)를 클릭하세요).
- (0:45) Queue(예약 목록)에서 상태가 scheduled인 게시물을 보여 주고, published로 바뀔 때까지 기다리세요(Post now를 눌렀다면 그 뒤에). view 링크를 클릭하세요.
- (1:00) TikTok 자체에서 게시물을 보여 주세요 — 웹 프로필이나 휴대폰 화면으로요. 문구와 동영상이 계정에 올라간 것을 심사자가 볼 수 있어야 합니다.
- (1:15, 선택이지만 효과적) Channels → TikTok 채널을 Remove(삭제)해서, 연결을 끊으면 앱의 접근 권한이 철회된다는 것을 보여 주세요.
전체를 한 번에 찍으세요. 편집은 필요 없습니다. MP4로 저장해 심사 양식의 데모 동영상 입력란에 업로드하세요.
제출한 뒤에는
- 보통 영업일 기준 1–5일이 걸립니다. 결과가 어떻든 이메일이 옵니다.
- 거절된다면 이유는 대개 다음 중 하나입니다. 데모 동영상에 권한 화면이 나오지 않았거나, 게시물이 TikTok에 올라가는 장면이 없었거나, scope 설명에 각 scope의 용도가 빠졌거나. 그 한 가지를 고쳐 다시 제출하세요 — 같은 날 다시 내셔도 됩니다.
- 그동안에도 앱은 계속 쓰세요. 비공개 게시물은 내내 동작합니다.
- 승인되고 나면 Social Quack에서 바꿀 것은 없습니다 — 다음 게시물부터 내가 고른 공개 범위가 그대로 적용됩니다.
문제가 생겼을 때
| 이런 증상 | 무슨 뜻인가 | 이렇게 하세요 |
|---|---|---|
TikTok 로그인 페이지에 unauthorized_client / client_key가 나옵니다 |
심사 전에 production 키를 사용했습니다 | Sandbox를 만들고 나를 target user로 추가한 뒤 Sandbox의 client key/secret을 쓰세요 |
TikTok 로그인 페이지에 redirect_uri 오류가 나옵니다 |
Login Kit의 URI가 정확히 일치하지 않습니다 | 포트까지 포함해 Social Quack의 TikTok 카드에서 다시 복사하고, Desktop에 체크되어 있는지 확인하세요 |
unaudited_client_can_only_post_to_private_accounts |
Sandbox 앱인데 연결된 계정이 공개 계정입니다 | Private로 설정한, 버려도 되는 계정을 연결하세요(8번) |
| "TikTok: choose who can see this post" | TikTok options 패널에서 공개 범위를 고르지 않았습니다 | Compose에서 TikTok 채널에 체크하고 공개 대상을 고르세요 |
게시물이 privacy_level_option_mismatch로 실패합니다 |
앱이 아직 심사를 받지 않아 비공개만 허용됩니다 | 심사 전에는 예상된 일입니다 — 게시물은 비공개입니다. 제한을 풀려면 심사를 제출하세요 |
게시물이 unaudited_client_can_only_post_to_private_accounts로 실패합니다 |
위와 같습니다 | 위와 같습니다 |
| "TikTok session fully expired" | 1년 동안 게시하지 않아 갱신 토큰이 만료되었습니다 | Channels → Remove → 다시 Connect |
| 사진 게시물은 실패하고 동영상은 됩니다 | 미디어 도메인이 인증되지 않았습니다 | Content Posting API → URL properties → 미디어 호스트 도메인을 인증하세요 |