我的客户是一家 SAAS 软件提供商。他在 Google Apps Marketplace 中提供了一个应用程序。客户可以将 Marketplace 应用程序添加到他的域。市场列表为我们提供了一个消费者密钥和消费者秘密,我们已将其集成到我们的 SAAS 产品中。
理论上,安装了我们的应用程序的客户应该能够使用我们从市场列表中获得并在 SAAS 产品中配置的消费者密钥/秘密对,将用户从他们的 Google Apps 域同步到他的 SAAS 安装。
我们目前正在使用以下方法,但它不起作用。API 调用返回"401 Unknown authentication header"。
require_once $gapps_vendors_dir . '/Zend/Oauth/Consumer.php';
require_once $gapps_vendors_dir . '/Zend/Gdata/Gapps/UserEntry.php';
require_once $gapps_vendors_dir . '/Zend/Gdata/Gapps/UserFeed.php';
require_once $gapps_vendors_dir . '/Zend/Gdata/Gapps/UserQuery.php';
$options = array(
'requestScheme' => Zend_Oauth::REQUEST_SCHEME_HEADER,
'version' => '1.0',
'signatureMethod' => 'HMAC-SHA1',
'consumerKey' => $CONSUMER_KEY,
'consumerSecret' => $CONSUMER_SECRET,
);
$token = new Zend_Oauth_Token_Access();
$httpClient = $token->getHttpClient($options);
$gdata = new Zend_Gdata_Gapps($httpClient, $clientsDomain);
$feed = $gdata->retrieveAllUsers();