2014-06-24 61 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/