我正在尝试实施Golang应用程序来访问Google Analytics数据。但是所有的例子都使用了在一小时内死亡的令牌。 在api访问中,我发现了一个"证书访问"设计用于从服务器访问,但我没有在Golang中找到其实现的示例。有一些阅读或者你可以启发我的道路吗?
我正在使用这个库。 code.google.com/p/google-api-go-client /
在这里阅读一些帖子我发现了Service Applications and Google Analytics API V3: Server-to-server OAuth2 authentication?
但它似乎不会直接起作用。真是没办法做到这一点而不是乱砍它?
答案 0 :(得分:1)
答案 1 :(得分:0)
这可能有点晚了,但我没有找到一个很好的例子让人们开始。
开始之前请确保
安装golang 1.5
安装google cloud SDK(cloud.google.com/sdk - 这将允许本地开发)
在google appengine / cloud控制台中创建服务帐户并下载json(API' s和auth> Credentials)
设置完毕后:
为您之前下载的安全凭据设置路径
导出GOOGLE_APPLICATION_CREDENTIALS =〜/ DIRECTORY / CREDENTIALS.json
现在您可以使用go进行身份验证。
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)
}