【问题标题】:Zend_Gdata_addRecipientToEmailList Error: Uncaught exception 'Zend_Gdata_App_HttpException' with message 'Expected response code 200, got 400Zend_Gdata_addRecipientToEmailList 错误:未捕获的异常 'Zend_Gdata_App_HttpException' 带有消息 'Expected response code 200, got 400
【发布时间】:2013-10-10 19:51:07
【问题描述】:

我有使用 Provisioning API 管理邮件列表的 PHP 代码。访问者可以通过网络表单选择加入或退出邮件列表。它已经工作了大约 6 个月,并于 2013 年 10 月 1 日停止工作。

我正在使用此代码进行测试:

require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
Zend_Loader::loadClass('Zend_Gdata_Gapps');
$service = Zend_Gdata_Gapps::AUTH_SERVICE_NAME  ;

$username = 'my_username';
$password = 'my_password';
$domain = 'my_domain';
$email = 'test-email@domain.com';
$email_list = 'test-list';

$client = Zend_Gdata_ClientLogin::getHttpClient($username, $password, $service);
$gdata = new Zend_Gdata_Gapps($client, $domain);
$gdata->addRecipientToEmailList($email, $email_list);

我收到以下错误消息:

PHP Fatal error:  Uncaught exception 'Zend_Gdata_App_HttpException' with message    'Expected response code 200, got 400
Invalid request URI' in /usr/share/php/Zend/Gdata/App.php:716\nStack trace:
#0 /usr/share/php/Zend/Gdata.php(219): Zend_Gdata_App->performHttpRequest('POST', 'https://apps-ap...', Array, '<atom:entry xml...', 'application/ato...', NULL)
#1 /usr/share/php/Zend/Gdata/App.php(908): Zend_Gdata->performHttpRequest('POST', 'https://apps-ap...', Array, '<atom:entry xml...', 'application/ato...')
#2 /usr/share/php/Zend/Gdata/Gapps.php(247): Zend_Gdata_App->post(Object(Zend_Gdata_Gapps_EmailListRecipientEntry), 'https://apps-ap...', NULL, NULL, Array)
#3 /usr/share/php/Zend/Gdata/App.php(983): Zend_Gdata_Gapps->post(Object(Zend_Gdata_Gapps_EmailListRecipientEntry), 'https://apps-ap...', NULL, NULL, Array)
#4 /usr/share/php/Zend/Gdata/Gapps.php(840): Zend_Gdata_App->insertEntry(Object(Zend_Gdata_Gapps_EmailListRecipientEntry), 'https://apps-ap...', 'Zend_Gdata_Gapp...')
#5 /usr/share/php/Zend/Gdata/Gapps.php(1625): Zend_G in /usr/share/php/Zend/Gdata/App.php on line 716

谁能告诉我发生了什么?我需要做什么才能让它再次工作?

谢谢, 乙

【问题讨论】:

  • 我也有同样的问题。如果它让你感觉更好......我猜这与更改服务器端的 URL 有关。不知道我是否可以在不破坏我们的应用程序的情况下更新 Zend。
  • 这是它尝试使用的代码中的 URL:const APPS_BASE_FEED_URI = 'apps-apis.google.com/a/feeds';
  • 我花了一天半的时间对发生的事情感到困惑。我很高兴我没有发疯。
  • 您查看过 Admin SDK 吗?我正在努力让它完成同样的事情,但到目前为止还没有运气。

标签: php zend-framework gdata google-provisioning-api


【解决方案1】:

Google 完全取消了对电子邮件列表的支持。使用组而不是列表。

例子:

而不是 $gdata->addRecipientToEmailList($email, $email_list)

使用 $gdata->addMemberToGroup($email, $group_name)

deleteEmailList -> 删除组

createEmailList -> createGroup

getEmailListRecipientFeed->retrieveAllMembers

查看 Zend 文档中的完整语法: http://framework.zend.com/manual/1.12/en/zend.gdata.gapps.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-09
    • 2013-08-24
    • 2012-04-25
    相关资源
    最近更新 更多