본문 바로가기

Data&Processing

[talend] talend 에서 google analytics연동

talend (혹은 다른 프로그램에서도 마찬가지)에서 google analytics 데이터를 연동하고자 하면 다음과 같은 프로세스를 따르면 된다.

글은 그냥 순서대로 쓰지만, 실제 작업하는데에는 수많은 시행착오가 있었고 이게 최적화된 길은 아니니 다른 좋은 방법찾으시면 그대로 하셔도 좋을것 같다.


관련site 

https://code.google.com/apis/console

http://ga-dev-tools.appspot.com/explorer/ : Google Analytics Query Explorer로써 ids나 metrics를 query해봄으로써 필요한 정보를 확인 할 수 있다. 분석화면 대신써도 가능은 할듯.

  1. https://code.google.com/apis/console 에 Service tab에서 Analytics API 상태 ON
  2. 같은메뉴에서 "API Acess" 에 들어가 ID를 등록한다. 이과정은 별로 안중요.
  3. 등록이 완료되면 아래에 "Create another client ID..." 를 클릭한다.
  4. 아래와 같은 화면이 나오는데 talend나 다른 application(java라던가 뭐 그런)에서 사용하려면 "Service account"를 선택한다.

  5. 아래와 같은 화면이 나오는데 google analytics service를 접속하기위한 p12 key file 이니 꼭 받아야 하며 잘 관리!!

  6. API Access Tab에 다음과 같이 Service account가 추가되며 여기서 Email address 를 client에서 사용하게 되고 형식은 "####################@developer.gserviceacount.com". 이 문자열을 접속정보에 기술해주면 됨

  7. "Business>Google>tGoogleAnalyticsInput" Component를 추가. 해당컴포넌트는 기본 TOS에는 없으며 추가해야한다. 추가하는 방법은 이전글 참조
  8. tGoogleAnalyticsInput 에 필요한 항목을 넣어줘야하는데 필요한 항목은 http://ga-dev-tools.appspot.com/explorer/ 를 참조한다. 컴포넌트가  "http://ga-dev-tools.appspot.com/explorer/" 와 항목이 거의 비슷하다.


    <<http://ga-dev-tools.appspot.com/explorer/>>


    <<Talend Component>>

  9. 위에 보다시피 항목이 거의 비슷하며 Service Account Email에는 (6)번에서 설명한 Email을 집어넣고, Key File은 (5)에서 받은 p12파일 위치를 지정해준다.
  10. 이렇게 설정하면 접속은 되지만
Exception in component tGoogleAnalyticsInput_1
com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden
{
  "code" : 403,
  "errors" : [ {
    "domain" : "global",
    "message" : "User does not have sufficient permissions for this profile.",
    "reason" : "insufficientPermissions"
  } ],
  "message" : "User does not have sufficient permissions for this profile."
}

와 같은 메시지가 나오게 된다.
이럴땐 해당 Google Analytics화면에 가서 관리>사용자 에서 사용하는 Email을 추가해준다.

끝!!