- 개발자 계정에 등록하세요.
- 개발자 App을 생성하고 토큰을 안전하게 관리하세요.
- 각 개발자 App에 대해 Ads API 액세스 권한을 요청하려면 ads.x.com/help에 방문해 요청을 제출하세요.
참고: 이미 X Developer Platform을 사용해 개발 중이며 개발자 계정이 있다면, 3단계로 건너뛰세요.
X의 API 제품에 요청을 보내려면 먼저 개발자 계정을 신청해야 합니다. 개발자 콘솔에서 App과 개발자용 App을 생성하세요. 그러면 API에 대한 모든 요청을 인증하는 데 사용할 자격 증명 세트를 발급받게 됩니다.
2단계: App의 키와 토큰을 저장하고 안전하게 보호하기
개발자 App에서 API 키(Consumer Key라고도 함) 세트를 발급받게 됩니다. 또한 개인 X 계정을 대신해 요청을 보낼 수 있는 Access Token 세트와, OAuth 2.0 Bearer Token이 필요한 엔드포인트를 인증하는 데 사용할 수 있는 Bearer 토큰을 생성할 수 있습니다. 이러한 키와 토큰은 재생성하지 않는 한 만료되지 않으므로, 환경 변수를 사용하거나 신뢰할 수 있는 비밀번호 관리 도구(패스워드 매니저)를 사용하는 것을 권장합니다.
또한 App 세부 정보 페이지의 URL에서 확인할 수 있는 App ID도 반드시 기록해 두세요. 이렇게 하면 다음 단계에서 Ads API 액세스를 요청하는 과정이 더 수월해집니다.
참고: 키와 토큰은 개발자 콘솔에서 한 번만 표시되므로, 생성하자마자 비밀번호 관리 도구에 이 자격 증명을 저장하는 것이 매우 중요합니다.키와 토큰을 분실하거나 잊어버린 경우, 다시 생성해야 하며, 이때 새로운 키와 토큰이 생성되고 기존 키와 토큰은 무효화됩니다. 이는 이전 자격 증명을 사용해 구성해 둔 모든 연동을 업데이트해야 함을 의미합니다.인증 모범 사례에 대해 더 알아보세요.
이 시점에서 여러분은 기본 X API 액세스는 갖고 있지만, X Ads API의 특정 기능에는 아직 접근할 수 없습니다. 다음으로 Ads API 액세스를 요청하고 승인을 받아야 합니다. 각 개발자 App에 대해 Ads API 액세스를 요청하려면 ads.x.com/help에 방문해 요청을 제출하세요.
신청 과정에서 필요한 액세스 수준을 지정해야 합니다. 자세한 내용은 App 수준 및 광고 계정 수준 권한을 참고하세요.
모바일 및 웹 Conversion 엔드포인트에 대한 읽기/쓰기 권한이 제공됩니다.
Analytics, Campaign Management, Creatives, Custom Audiences, Conversion 엔드포인트에 대한 읽기 및 쓰기 권한을 제공합니다.
참고: 2023년 7월 이전에 액세스를 요청한 Ads API 개발자는 서로 다른 수준의 액세스 권한을 가질 수 있으며, OAuth 토큰이 5개로 제한될 수 있습니다. 추가 엔드포인트에 대한 액세스를 얻거나 기존 애플리케이션의 토큰 제한을 해제하려면
액세스 확대 가이드를 참조하세요.
Ads API에 대한 접근 권한을 테스트하려면 GET accounts 엔드포인트에 요청을 보내세요. 이 엔드포인트는 현재 인증된 사용자가 액세스할 수 있는 광고 계정을 반환합니다. 이 요청의 응답에서 반환된 광고 계정 ID를 이후 API 요청에서 사용하여 특정 광고 계정의 데이터를 읽고 쓸 수 있습니다. 명령줄에서 Twurl을 사용할 경우 요청은 다음과 같습니다.
요청 예시
twurl -H ads-api.x.com "/11/accounts"
응답 예시
{
"request": {
"params": {}
},
"data": [
{
"name": "Furni",
"business_name": null,
"timezone": "America/Los_Angeles",
"timezone_switch_at": "2016-04-06T07:00:00Z",
"id": "18ce54ayf0z",
"created_at": "2016-04-07T14:40:15Z",
"salt": "b88939e5cabbca720159cb3659d73c06",
"updated_at": "2017-02-08T08:49:53Z",
"business_id": null,
"approval_status": "ACCEPTED",
"deleted": false
}
]
}