2014-06-24 46 views
1

我支持一个拥有200,000+用户的组织。我目前的技能组合以及我可以使用的工具包括PowerShell和ColdFusion。两者都可用于制作HTTP POST & GET请求。您如何使用Google Admin SDK授权HTTP POST&GET请求?

我为我的组织创建了一个Google API服务帐户。我认为我知道公钥是什么,我相信我已经下载了私钥。在这个例子PowerShell的,我想看看这个特殊的用户设置为需要在下次登录时密码更改:

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

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

我找不出Google的文档。有人可以帮我弄清楚如何针对我的域中的Google帐户执行管理功能吗?我需要像“服务”帐户那样做...

我需要阅读什么?我从哪里出发?有没有人有一个很好的例子?

谢谢您的考虑。

+0

它不这样工作。我没有例子可以提供,但也许你对像GAM这样的工具感兴趣(https://code.google.com/p/google-apps-manager/) – AMS

+0

GAM不足以达到我们的目的。我们正在研究几个选项,包括ASP.net和C#。我非常想知道如何使用手动HTTP POST请求修改Google Apps帐户。我需要一个快速和肮脏的例子,我可以收集,如果有人有。 – raydlevel5

+0

C#有一个官方API客户端(https://developers.google.com/resources/api-library/documentation/admin/directory_v1/csharp/latest/)。对于OAuth2没有快速和肮脏的例子,对不起。 – AMS

回答

1

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