首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >服务器到服务器OAuth2

服务器到服务器OAuth2
EN

Stack Overflow用户
提问于 2013-10-14 21:04:16
回答 2查看 538关注 0票数 0

我试图实现一个用于访问Google数据的Golang应用程序。但是所有的例子都使用了在一小时内死亡的标记。在api访问中,我发现了一个“证书访问”,它被设计用于从服务器访问,但是我没有找到它在Golang中实现的例子。有一些阅读,或者你可以启发我的道路,这一点?

我在用这个图书馆。Co.google.com/p/google-api-go-client/

在这里读到一些帖子我发现了这个服务应用程序和Google V3:服务器到服务器的OAuth2身份验证?

但它似乎不会直接起作用。真的没有办法干这件事吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-15 05:03:34

你查过OAuth2包了吗?我已经将它用于用户授权的呼叫,并对其进行了一些黑客攻击,以使其能够处理多个授权来源。

我还没有用纯服务器对服务器通信进行测试,但是你应该能够破解传输代码,让它做它所需要的……

票数 1
EN

Stack Overflow用户

发布于 2015-10-16 19:20:03

这可能有点晚了,但我没有找到一个很好的例子,让人们开始。

在你开始之前要确保你

安装金港1.5 安装google (cloud.google.com/sdk -这将允许本地开发) 在google /云控制台中创建一个服务帐户,并下载json (API和auth >凭据)

以上设置完成后:

为先前下载的安全凭据设置路径。 导出GOOGLE_APPLICATION_CREDENTIALS=~/DIRECTORY/CREDENTIALS.json

现在你可以用go认证了。

代码语言:javascript
复制
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)
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19369280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档