【问题标题】:How do you authorize HTTP POST & GET request with Google Admin SDK?您如何使用 Google Admin SDK 授权 HTTP POST 和 GET 请求?
【发布时间】:2014-06-24 20:44:08
【问题描述】:

我支持一个拥有超过 200,000 名用户的组织。我目前的技能组合以及我可以使用的工具包括 PowerShell 和 ColdFusion。两者都可用于发出 HTTP POST 和 GET 请求。

我为我的组织创建了一个 Google API 服务帐户。我认为我知道公钥是什么,而且我相信我已经下载了私钥。在这个 PowerShell 示例中,我试图查看此特定用户是否设置为在下次登录时要求更改密码:

$request="https://www.googleapis.com/admin/directory/v1/users/USER@DOMAIN.COM?fields=changePasswordAtNextLogin&key={MY PUBLIC KEY?}"
$cert=Get-PfxCertificate -FilePath "C:\PATH\PRIVATEKEY.P12"
Invoke-WebRequest -Uri $request -Method GET -Certificate $cert

当我运行它时,它会询问证书的密码,我提供它,但我仍然得到“...远程服务器返回错误:(401) Unauthorized...”

我无法弄清楚 Google 的文档。有人可以帮我弄清楚如何对我域中的 Google 帐户执行管理功能吗?我需要像“服务”帐户一样进行操作...

我需要阅读什么?我从这里去哪里?谁有好的例子?

感谢您的考虑。

【问题讨论】:

  • 这样不行。我没有示例可举,但也许您对 GAM 之类的工具感兴趣 (code.google.com/p/google-apps-manager)
  • GAM 不足以满足我们的目的。我们正在研究几个选项,包括 ASP.net 和 C#。我真的很想了解如何使用手动 HTTP POST 请求修改 Google Apps 帐户。我需要一个快速而肮脏的例子,如果有人有的话,我可以从中收集到。
  • 有一个官方的 C# API 客户端 (developers.google.com/resources/api-libraries/documentation/…)。 OAuth2 没有快速而肮脏的例子,抱歉。

标签: powershell coldfusion google-admin-sdk


【解决方案1】:

如果您使用 Apache 作为 Web 服务器,您可以评估模块 auth_openidc。 这使您能够在 webserver 级别进行身份验证。如果登录成功,您将在应用程序中获得服务器变量 remote_user。见https://github.com/pingidentity/mod_auth_openidc。 一个 php 示例可以在该项目的 wiki 中找到,地址为 https://github.com/pingidentity/mod_auth_openidc/wiki。 这是 OpenID Connect 的一个示例,请参阅 http://openid.net/connect/faq/

【讨论】:

    猜你喜欢
    • 2015-03-08
    • 2014-10-08
    • 2014-11-06
    • 2018-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多