X(Twitter)를 Social Quack에 연결하기
X 콘솔에 내 앱 하나, 몇 달러의 크레딧, 그러면 게시물이 예정대로 나갑니다 — 키는 내 Mac에 암호화된 채로요.
X는 Social Quack에서 게시하는 데 돈이 드는 유일한 플랫폼입니다. 그 점만 빼면 나머지는 간단합니다. 내 소유의 작은 개발자 앱을 만들고, 키 두 개를 Social Quack에 붙여 넣고, X의 페이지에서 연결을 승인하면 됩니다. 한 번만 하시면 됩니다 — X 방식의 연결은 만료되지 않으므로 몇 주마다 다시 연결할 일이 없습니다.
앱이 내 것이므로 키는 암호화된 채 내 컴퓨터에 남고 게시 허용량도 온전히 내 것입니다. 남의 계정과 한 통을 나눠 쓰지 않으니, 다른 사람의 활동 때문에 제한을 받을 일이 없습니다.
1. 비용
X에는 더 이상 무료 게시 등급이 없습니다. 예전의 Free (Standard Basic) 접근은 지원이 중단되어, 아직 거기 남아 있는 앱은 게시를 시도할 때마다 거부됩니다. X의 API로 게시하시려면 Pay Per Use 요금제의 개발자 계정과 충전된 크레딧이 필요합니다. 게시물 하나에 몇 센트 정도입니다.
시작하는 데는 $5–10이면 넉넉합니다. 이는 X에만 해당하며, Bluesky와 Mastodon을 비롯한 Social Quack의 다른 플랫폼은 무료입니다.
2. Social Quack에서 X 카드부터 열기
복사해야 할 값이 이미 화면에 떠 있도록, 앱에서 시작하세요.
사이드바의 Channels(채널) → X (Twitter) 카드 → Set up app keys(앱 키 설정).
(워크스페이스에 키가 저장되고 나면 그 버튼은 Edit app keys(앱 키 수정)로 바뀌는데, 열리는 창은 같습니다.)
그 창에는 마지막에 채우실 입력란 두 개가 있고, 그 위에 X가 Callback URI라고 부르는 리디렉션 URL이 복사 버튼과 함께 있습니다. 이 Social Quack이 실행 중인 포트가 들어 있으므로 직접 타이핑하지 말고 복사 버튼으로 가져오세요 — 한 글자만 달라도 X가 거부합니다. 그 창은 열어 두세요.
3. Pay Per Use 프로젝트를 만들고 크레딧 충전하기
- https://console.x.com 으로 가서 Projects를 여세요. Pay Per Use 요금제의 프로젝트가 필요합니다. 예전 Free (Standard Basic) 프로젝트밖에 없다면 그것은 더 이상 동작하지 않습니다 — Pay Per Use 프로젝트를 쓰시거나 새로 만드세요.
- Billing → Credits에서 $5–10을 충전하세요.
4. 앱 만들기
Pay Per Use 프로젝트 안에서 Apps → Create App.
예전 프로젝트에 이미 앱이 있으신가요? Project Access → Manage를 통해 옮기셔도 됩니다.
5. 권한과 콜백 URL 설정하기
앱을 열고 Settings의 Authentication settings 항목에서 설정하세요.
| 설정 | 무엇을 넣나 |
|---|---|
| Permissions | Read and write |
| Type of App | Web App |
| Callback URI | Social Quack의 Set up app keys 화면에 표시된 리디렉션 URL — 복사 버튼으로 가져와 그대로 붙여 넣으세요 |
| Website | 아무 URL이나 |
저장하세요. 이 일은 다음 단계 전에 하셔야 합니다. 권한을 바꾸기 전에 만든 키는 예전 권한 수준을 그대로 지니고 있어서, X에서 승인한 뒤에 연결이 실패합니다.
6. API Key와 Secret 복사하기
앱 → Keys & Tokens → OAuth 1.0 Keys → Consumer Key를 Regenerate한 다음, 표시되는 두 값을 복사하세요.
- API Key (Consumer Key)
- API Key Secret (Consumer Secret)
시크릿은 한 번만 표시됩니다. 복사하지 않고 페이지를 닫으셨다면 그냥 다시 Regenerate하시면 됩니다 — 앱의 권한을 바꾸실 때마다 다시 만드세요.
다시 만들면 예전 쌍은 어디서든 대체됩니다. X는 내 모든 게시물을 이 키로 서명하므로, 한 번 다시 만들고 나면 예전 키는 죽은 것입니다. 두 개 이상의 워크스페이스에 붙여 넣으셨다면 각 워크스페이스의 Set up app keys 창을 열어 새 쌍을 거기에도 붙여 넣으세요 — 저장하면 X의 인증 페이지가 다시 열리고, 승인하면 그 계정이 기존 위에 다시 연결되면서 예약해 둔 것도 모두 유지됩니다. 예전 키를 그대로 둔 워크스페이스는 게시를 할 수 없게 됩니다.
7. 붙여 넣고 연결하기
Social Quack으로 돌아와 그 Set up app keys 창에서 API Key (Consumer Key)와 API Key Secret (Consumer Secret)에 붙여 넣고 Save(저장)를 클릭하세요. 더 누를 것은 없습니다 — 키를 저장하면 곧바로 브라우저에서 X의 인증 페이지가 열립니다. 게시하실 계정으로 승인하세요. 그러면 브라우저가 Connected! 페이지에 도착해, 탭을 닫고 Social Quack으로 돌아가라고 알려 줍니다. 그렇게 하시면 됩니다. 계정은 이미 Channels 페이지에서 기다리고 있습니다.
키가 저장되고 나면 X 카드의 Connect(연결) 버튼이 같은 인증을 스스로 시작합니다 — 나중에 두 번째 계정을 추가하거나 하나를 다시 연결하실 때 쓰실 버튼입니다.
같은 앱으로 여러 계정을 연결하실 수 있습니다. 브랜드를 나눠 두셨다면 워크스페이스마다 하나씩요. 워크스페이스는 저마다 키 사본을 따로 보관하므로, 사이드바에서 워크스페이스를 바꾼 뒤 그 워크스페이스의 Set up app keys 창에 같은 두 값을 붙여 넣으세요 — 거기서 저장해도 그 워크스페이스를 위한 인증 페이지가 열립니다. X의 앱 하나로 전부 감당됩니다.
8. X에 올릴 수 있는 것
| 게시물 길이 | 280자 |
| 스레드 | 됩니다 — 각 부분이 바로 앞 글의 답글로 나갑니다 |
| 이미지 | 스레드의 첫 게시물에 최대 4장, 대체 텍스트와 함께 |
| 동영상 | 됩니다 |
X가 받아들이는 크기를 넘거나 지원하지 않는 형식의 사진은 나가기 전에 알아서 크기가 조정되고 변환됩니다 — 미리 준비하실 것이 없습니다.
문제가 생겼을 때
| 이런 증상 | 무슨 뜻인가 | 이렇게 하세요 |
|---|---|---|
게시물이 403과 client-not-enrolled로 실패합니다 |
앱이 Pay Per Use 프로젝트에 있지 않습니다 — 예전 무료 접근은 더 이상 동작하지 않습니다 | Pay Per Use 프로젝트 안에서 앱을 만드시거나, Project Access → Manage로 그쪽으로 옮기세요 |
| X에서 승인한 뒤 Connection failed 페이지에 X token exchange failed가 나옵니다 | 대개 앱의 권한을 바꾸기 전에 키를 만들어서 예전 권한 수준을 그대로 지니고 있는 경우입니다. 다른 앱의 키이거나, 복사할 때 시크릿이 잘렸을 수도 있습니다 | Keys & Tokens → OAuth 1.0 Keys → Regenerate 후 두 값을 다시 복사해 Set up app keys에 새 쌍을 붙여 넣고 Save를 클릭하세요 — 인증 페이지가 다시 열립니다 |
| 같은 Connection failed 페이지에 X users/me failed가 나옵니다 | 앱이 API 접근 권한이 있는 프로젝트에 연결되어 있지 않습니다 | 앱이 정말로 내 Pay Per Use 프로젝트 안에 있는지 확인하세요 |
| X API Key / Secret not configured | 그 워크스페이스에 저장된 키가 없습니다 — 워크스페이스마다 사본을 따로 보관합니다 | 사이드바에서 그 워크스페이스로 바꾼 다음 Channels → X → Set up app keys에서 둘 다 붙여 넣고 Save를 클릭하세요 |
| 키를 다시 만든 뒤 한 X 계정의 게시가 실패하기 시작합니다(X rejected the post, 401) | 새 쌍이 그때 계신 워크스페이스에만 들어갔고, 다른 워크스페이스들은 이제 죽은 예전 키를 그대로 들고 있습니다 | 나머지 각각에서 Set up app keys에 새 쌍을 붙여 넣고 Save한 뒤 X에서 다시 승인하세요. 계정이 기존 위에 다시 연결되고 예약된 게시물도 유지됩니다 — 채널은 절대 삭제하지 마세요, 게시물까지 지워집니다 |
| X의 인증 페이지에 오류가 뜨거나, Social Quack이 그 페이지를 열지 않고 오류를 보여 주거나, Connection failed라는 제목의 페이지에 도착합니다 | 대개 X의 Callback URI가 Social Quack이 보여 주는 것과 다릅니다 | Set up app keys 창에서 리디렉션 URL을 다시 복사해 앱 → Settings → Callback URI에 붙여 넣고 저장한 뒤, Social Quack의 X 카드에서 Connect를 클릭하세요 |
| 브라우저가 Connected! 페이지에서 멈추고 되돌아가지 않습니다 | 잘못된 것이 없습니다 — Social Quack은 평소 쓰시는 브라우저에서 X를 열고, 브라우저는 앱 안으로 되돌아갈 수 없습니다 | 탭을 닫고 Social Quack으로 돌아가세요. 계정은 이미 Channels 페이지에 있습니다 |
| 아무것도 바꾸지 않았는데 얼마 뒤부터 게시가 실패합니다 | 크레딧이 떨어졌습니다 — 게시물마다 몇 센트가 듭니다 | Billing → Credits에서 충전하세요 |
| 게시물이 429나 500번대 오류로 실패합니다 | X가 요청 빈도를 제한하고 있거나 잠시 상태가 좋지 않습니다 | 하실 일은 없습니다 — Social Quack이 일시적인 상황으로 보고 알아서 다시 시도합니다 |
| API Key Secret을 잃어버렸습니다 | 단 한 번만 표시되는 값입니다 | Consumer Key를 Regenerate하고 새 쌍을 Set up app keys에 붙여 넣은 뒤 Save를 클릭하세요 — X를 쓰는 모든 워크스페이스에서요. 예전 쌍은 어디서든 동작을 멈추기 때문입니다 |
그래도 막히셨나요? [email protected].