Milky's note

🛠 [LinkedIn Ads] Advertising API 호출하기! 본문

Python/API Connect

🛠 [LinkedIn Ads] Advertising API 호출하기!

밀뿌 2024. 3. 12. 17:38

 

LinkedIn의 Ads 쪽 데이터를 API로 호출해서 적재하는 파이프라인을 만들려고 한다.

API 호출을 단순 Auth로 하면 될 줄 알았는데 생각보다 복잡한 절차가 있어서 정리하려고 한다.

 

1. LinkedIn Developers에서 App 생성


LinkedIn API를 연동하기 위해서는 LinkedIn Developers(https://developer.linkedin.com/)에서 app을 생성 해야한다.

 


앱의 이름과 LinkedIn Page, 그리고 로고 이미지를 넣고 앱을 생성하면 된다.



앱은 바로 생성이 되고 내가 필요한 Advertising API를 Request해야하는데 블락이 되어 있다.

 

앱을 생성하면서 넣어주었던 회사의 LinkedIn 계정 담당자가 승인을 해주어야 API를 요청할 수 있다.

계정 담당자가 승인할 수 있는 URL을 전달해주어야 하는데 URL 생성 방법은 다음과 같다.



[설정] 탭으로 가서 Verify를 클릭

 

Verification URL 에서 URL 생성을 클릭해주면 URL이 생성이 되고 이를 복사해서 LinkedIn 계정 담당자에게 전달을 하면 된다.

 

URL은 30일 동안 유효하고 시간이 지나면 URL을 다시 생성해서 전달해주어야 한다.

 

 

2. Advertising API 권한 요청

회사와 연결이 되면 [제품] 탭으로 가서 Advertising API에 대해 권한을 요청한다.

 

권한을 요청하면 다음과 같은 팝업이 뜨고 동의한다는 내용에 체크를 해주면 신청이 완료된다.

 

권한 요청을 하면 다음과 같이 뜨고 시간이 좀 지나면 액세스를 요청하는 form 링크가 뜬다.

 

form을 작성하고 요청을 제출하면 된다.

4페이지까지 있고 누락되는 경우 API 허용이 거절된다고 하니 잘 써야 할 것 같다.

승인까지는 하루 정도가 걸린다고 한다. 

 

길게는 하루 정도가 소요된다고 했는데 나의 경우는 약 10분..? 정도 뒤에 다음과 같은 화답 메일이 왔다. 

 

 

2-1. Advertising API에 광고 계정 추가(선택 사항)

광고 계정을 추가하는 단계이다. 해당 작업은 optional로 추가하긴 했는데 차이점을 잘 못느끼겠다.

(만약 나중에 차이점을 발견하면 추가로 기재해두겠습니다..)

 

form 작성을 완료한 Advertising API에서 View Ad Account를 클릭한다.

 

그러면 Ad 계정이 비어있고 Add  Ad Account 버튼이 있고 이를 눌러주고 Ad Account Number을 넣어주면 된다.

 

이 Number는 캠페인 매니저에 있는 Ad Account Number을 넣어주면 된다.

 

 

3. Postman으로 액세스 토큰 생성

LinkedIn Developer Portal로 이동해서 Auth에 있는 Client ID와 Client Secret를 확인한다.

 

그리고 바로 밑에 카드에서 OAuth 2.0 Setting로 가서 URL을 추가해준다.

다음과 같이 연필 모양을 클릭하면 Add redirect URL이 뜨고 추가할 수 있다.

 

다음과 같이 두 개의 URL을 추가해준다.

(사실 browser이 들어있는 URL만 추가해주어도 되는데 공식 Docs에서 두 개를 넣어주었길래 다 넣었당..)

  • https://oauth.pstmn.io/v1/browser-callback
  • https://oauth.pstmn.io/v1/callback 

 

 

이제 Postman을 열고 Auth 탭으로 이동하고 Type을 OAuth 2.0으로 변경해준다.

 

새로운 토큰을 생성해야 하는데 토큰 생성 관련 정보를 아래와 같이 입력해주고 Get New Access Token을 클릭해준다.

 

  • Grant Type = Authorization Code
  • Callback URL = https://oauth.pstmn.io/v1/browser-callback 
주의!! 
여기서 Callback Url을 https://oauth.pstmn.io/v1/callback로 해주면 반드시 밑에 있는 Authorize using browser을 체크!!
  • Auth URL = https://www.linkedin.com/oauth/v2/authorization     
  • Access Token URL = https://www.linkedin.com/oauth/v2/accessToken 
  • Client ID = {Copy this from the “Auth” tab in the developer portal}
  • Client Secret = {Copy this from the “Auth” tab in the developer portal}
  • State = 공백
  • Client Authentication = Send client credentials in body
  • Scope = r_ads_reporting,r_organization_social,rw_organization_admin,r_ads,r_basicprofile,r_organization_admin
Scope안에 있는 값은 개발자 포털에서 OAuth 2.0 scopes 참조하여 입력 (아래 리스트 참조)



 


거의 다 끝났습니다 !!!!!

토큰을 생성하면 browser에서 잠시 확인을 하고 다음과 같은 LinkedIn 팝업이 뜬다.

 

그리고 LinkedIn 계정을 입력하면 승인을 요청한다는 팝업이 또 뜨고 이를 허용해주면 성공적으로 Auth 는 끝난다.

 

 

그리고 단순한 연동 테스트를 하기 위해서 다음 API를 호출해본다.

URI : https://api.linkedin.com/v2/me

 

 

나의 정보를 호출하는 API이고 아주 성공적으로 Response를 확인할 수 있다.

 

다음에는 캠페인정보나 필요한 코드들로 API를 연동하는 테스트 코드를 추가할 예정이다. 

Comments