2013-10-14 3 views
0

Google 애널리틱스 데이터에 액세스하기위한 Golang 애플리케이션을 구현하려고합니다. 그러나 모든 예제는 한 시간 안에 죽는 토큰을 사용합니다. API 액세스에서 서버에서 액세스하는 데 사용하도록 설계된 "인증서 액세스"를 찾았지만 Golang에서 해당 구현 예제를 찾지 못했습니다. 약간의 독서가 있거나 이것에 대한 내 길을 밝힐 수 있습니까?서버를 서버 oauth2

메신저는이 라이브러리를 사용하고 있습니다. 여기에 몇 가지 게시물을 읽는 는 code.google.com/p/google-api-go-client/

나는이 Service Applications and Google Analytics API V3: Server-to-server OAuth2 authentication?

을 찾았지만 바로 작동하지 않을 것으로 보인다. 이걸 해킹해서는 안되지?

답변

1

OAuth2 패키지를 체크 아웃 한 적이 있습니까? 사용자 권한 호출에이 파일을 사용하고 여러 권한 소스를 처리 할 수 ​​있도록 해킹했습니다.

나는 순수한 서버 간 COMMS와 그것을 테스트하지 않은,하지만 당신이 무엇을 필요로하는지 어떻게 얻을 수있는 전송 코드를 해킹 할 수 있어야한다 ...

+0

goauth2/oauth/jwt 내부에서 코드를 찾고있었습니다. 감사 – Freaktor

0

이있을 조금 늦었지만 나는 사람들이 시작하게하는 좋은 모범을 발견하지 못했습니다.

당신은 반드시

이 golang 1.5

설치 구글 클라우드 SDK (cloud.google.com/sdk을 -이 지역 개발을 허용합니다)를 설치하기 시작하기 전에

이 서비스 만들기 계정을 Google App Engine/클라우드 콘솔에서 다운로드하고 json (API 및 인증> 자격증 명)을 다운로드하십시오.

etup :

는 이전

수출 GOOGLE_APPLICATION_CREDENTIALS = ~/디렉토리를 다운로드 한 보안 자격증/CREDENTIALS.json

지금 당신은 이동으로 인증 할 수 있습니다에 대한 경로를 설정합니다.

package main 

import (
    "fmt" 
    "golang.org/x/net/context" 
    "golang.org/x/oauth2/google" 
    analytics "google.golang.org/api/analytics/v3" 
) 

var (
    scope = analytics.AnalyticsReadonlyScope 
) 

func main() { 
    // Authentication is provided by the gcloud tool when running locally, and 
    // by the associated service account when running on Compute Engine. 
    client, err := google.DefaultClient(context.Background(), scope) 
    if err != nil { 
     fmt.Printf("Unable to get default client: %v", err) 
    } 

    service, err := analytics.New(client) 
    if err != nil { 
     fmt.Printf("Unable to create storage service: %v", err) 
    } 

    fmt.Println(service) 
} 
관련 문제