【问题标题】:Admin-sdk with marketplace does not work带有市场的 Admin-sdk 不起作用
【发布时间】:2013-10-05 08:06:37
【问题描述】:

我试图用 admin-sdk 构建一个市场应用程序。

阅读文档,就市场应用而言,两条腿身份验证似乎是唯一的方法。

想检查当前用户是否是管理员,所以我想使用

https://www.googleapis.com/admin/directory/v1/users/(useremail)?xoauth_requestor_id=(admin-email)

我试图既是一样的又是管理员的人

授权头也如下。

OAuth realm="", oauth_signature_method="HMAC-SHA1", 
oauth_version="1.0", oauth_consumer_key="<key from market place>",
oauth_nonce="4473365854789985180", oauth_timestamp="1380453874",
scope="https://www.googleapis.com/auth/admin.directory.user", 
oauth_signature="yEcbWIp5f1nNFaUI8vSxn1NYlzw="

当对 url 发出此请求时,我收到错误提示。

"domain": "global",
"reason": "authError",
"message": "Invalid Credentials",
"locationType": "header",
"location": "Authorization"

我寻找 api 来完成它,但找不到两条腿的 admin-sdk。有人可以帮我解决这个问题吗?

这样的功能也可以通过使用服务帐户来完成吗?

我也想,到底有没有 admin-sdk 用 golang 到底。

【问题讨论】:

    标签: oauth go google-admin-sdk google-apps-marketplace 2-legged


    【解决方案1】:

    Marketplace 仍使用 OAuth 1.0。因此,我认为您不能真正使用服务帐户,因为它确实适用于 OAuth 2.0。

    你检查过这两个文件吗? https://developers.google.com/accounts/docs/OAuth#GoogleAppsOAuth https://developers.google.com/gdata/docs/auth/oauth#2LeggedOAuth

    无论如何,您要确保您使用的是从 API 控制台生成的启用了 Admin SDK 的 clientID 和客户端密码。此外,您是否还在管理控制台的“管理第三方 OAuth”中启用了使用 Admin SDK 范围的 clientID?

    我可以毫无问题地拨打以下电话:

    https://www.googleapis.com/admin/directory/v1/users/user@domain.com?xoauth_requestor_id=admin@domain.com&key=APIkey_from_API_console

    【讨论】:

    • 您是使用一些 api 来完成这项工作,还是使用 curl 之类的工具来完成这项工作?我正在使用市场供应商列表中的 clientID 和 clientSecret。还在 manifest.xml 中添加了目录 api 的范围,并且我尝试安装应用程序的管理员接受了访问权限。如果你能提供代码的sn-ps或api的链接,对我真的有用吗?
    • 我们还应该用两条腿的请求指定范围吗?
    • 查看控制台时,我得到浏览器密钥是要使用的那个吗?
    • 一切都适用于建议的更改。它也可以在不为我使用 key 参数的情况下工作。仅当脚本从应用程序托管的域运行时才会出现响应,而不会在其他任何地方运行。我认为这就是我面临的问题。
    猜你喜欢
    • 1970-01-01
    • 2018-05-02
    • 2017-09-27
    • 2014-09-06
    • 1970-01-01
    • 1970-01-01
    • 2017-10-31
    • 2019-06-23
    • 2014-06-28
    相关资源
    最近更新 更多