将此Zend Gdata代码从ZF迁移到ZF2

时间:2013-04-16 20:01:04

标签: zend-framework zend-framework2

抱歉这么糟糕的问题,但我花了2个小时没有成功。 Zend Docs太可怕了......

我找到了这个Zend_Gdata library and Picasa data API -- loader.php file missing,但它找不到第2行Class'Application \ Controller \ Zend \ Loader \ StandardAutoloader',这显然不是正确的路径。

我不确定为什么ZF不使用 ... \厂商\ ZF2 \库\ Zend的\装载机\

我正在使用正在运行的https://github.com/zendframework/ZendSkeletonApplication,但没有任何其他功能可以与zf2一起使用,所有帮助主题都不完整。我眼中一团糟......

然而,这是代码。

//Change this for your domain
$domain = 'yourdomain.com';
$email = 'ad...@yourdomain.com';
$passwd = 'p@ssword';
$user = 'jsmith';
$newuserpassword = 'secretp@assword';

//Connect as admin to Google Apps
require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Http_Client');
Zend_Loader::loadClass('Zend_Gdata');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
Zend_Loader::loadClass('Zend_Gdata_Gapps');
try {
  $client = Zend_Gdata_ClientLogin::getHttpClient($email, $passwd,     Zend_Gdata_Gapps::AUTH_SERVICE_NAME);
} catch (Zend_Gdata_App_CaptchaRequiredException $cre) {
    echo 'URL of CAPTCHA image: ' . $cre->getCaptchaUrl() . "\n";
    echo 'Token ID: ' . $cre->getCaptchaToken() . "\n";
} catch (Zend_Gdata_App_AuthException $ae) {
   echo 'Problem authenticating: ' . $ae->exception() . "\n";
}
$gdata = new Zend_Gdata_Gapps($client, $domain);

//Now change the user's password
$updateUser = $gdata->retrieveUser($user);
$updateUser->login->password = $newuserpassword;
$updateUser = $updateUser->save();

2 个答案:

答案 0 :(得分:1)

即使是Zend 1或2,也可以使用新的API:

https://github.com/google/google-api-php-client

这是包含安装说明和入门指南的页面:

https://developers.google.com/api-client-library/php/

以下是可用的服务:

https://github.com/google/google-api-php-client/tree/master/src/Google/Service

希望有所帮助。

答案 1 :(得分:0)

zf2中没有Zend_Loader这样的东西,你发布的代码是zf1。如果你的准系统应用程序正常工作,那么你已经有了自动加载器正常工作(我假设你正在使用MVC,这个代码是在控制器中,而不是单个文件)。

如果您正确设置了自动加载器,则也不需要使用Zend_Loader::loadClass ..因为它们将被自动加载。

至于zf2中的Gdata - 您需要获取包,可在此处找到https://packages.zendframework.com/。好的指示在这里:Zend Framework 2.0.2 YouTube API

将代码从zf1转换为zf2应该非常简单。

然而,遗憾的是,不再维护gdata包,因此建议您使用https://code.google.com/p/google-api-php-client/