我试图实现一个用于访问Google数据的Golang应用程序。但是所有的例子都使用了在一小时内死亡的标记。在api访问中,我发现了一个“证书访问”,它被设计用于从服务器访问,但是我没有找到它在Golang中实现的例子。有一些阅读,或者你可以启发我的道路,这一点?
我在用这个图书馆。Co.google.com/p/google-api-go-client/
在这里读到一些帖子我发现了这个服务应用程序和Google V3:服务器到服务器的OAuth2身份验证?
但它似乎不会直接起作用。真的没有办法干这件事吗?
发布于 2013-10-15 05:03:34
你查过OAuth2包了吗?我已经将它用于用户授权的呼叫,并对其进行了一些黑客攻击,以使其能够处理多个授权来源。
我还没有用纯服务器对服务器通信进行测试,但是你应该能够破解传输代码,让它做它所需要的……
发布于 2015-10-16 19:20:03
这可能有点晚了,但我没有找到一个很好的例子,让人们开始。
在你开始之前要确保你
安装金港1.5 安装google (cloud.google.com/sdk -这将允许本地开发) 在google /云控制台中创建一个服务帐户,并下载json (API和auth >凭据)
以上设置完成后:
为先前下载的安全凭据设置路径。 导出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)
}https://stackoverflow.com/questions/19369280
复制相似问题