【发布时间】:2012-01-17 19:25:58
【问题描述】:
我正在尝试编写一个 PHP 脚本来备份我的 Gmail 联系人。
我发现一篇文章描述了使用 Zend 框架结合 Google Contacts API 来查询联系人,我设法让它工作,但是返回的信息量远远不够。
这里是文章:http://www.ibm.com/developerworks/opensource/library/x-phpgooglecontact/index.html
这是我的代码:
$fp = fopen('file.csv', 'w');
foreach ($results as $r) {
$master = array();
$master[0] = (string) $r->name;
$master[1] = (string) $r->orgName;
$master[2] = (string) $r->orgTitle;
$iCount = 2;
foreach($r->phoneNumber as $p) {
$iCount += 1;
$master[$iCount] = (string) $p->phoneNumber;
}
fputcsv($fp, $master);
}
fclose($fp)
这是 var_dump() 的输出:
object(stdClass)#7 (5)
{
["name"] => string(17) "John Doe"
["orgName"] => string(6) "Some Org"
["orgTitle"] => string(0) ""
["emailAddress"] => array(1)
{
[0]=> string(17) "user@domain.com"
}
["phoneNumber"] => array(2)
{
[0] => string(3) "123"
[1]=> string(3) "321"
}
}
【问题讨论】:
-
也许向我们展示您的一些代码...?如果您获得了所需的信息但无法创建 CSV 文件,那肯定是问题所在......
-
$master = array(); $fp = fopen('file.csv', 'w'); foreach ($results as $r) { $master[0] = (string) $r->name; $master[1] = (string) $r->orgName; $master[2] = (string) $r->orgTitle; $iCount = 2; foreach($r->phoneNumber as $p) { $iCount += 1; $master[$iCount] = (string) $r->phoneNumber; } fputcsv($fp, $master); } fclose($fp);
-
我的问题是我没有检索到接近所需信息水平的任何地方。想知道有没有办法用Zend登录Gmail,然后查询下面的地址“mail.google.com/mail/contacts/data/…”
-
您在文件中得到什么结果?你能指望什么?关于该代码错误的第一件事是,在内部
foreach循环中,您使用了$r->phoneNumber,它可能应该是$p。而且您不会在每次迭代时都重置$master数组,因此您最终可能会得到重复的数据。 -
请使用
var_dump($results);的输出编辑您的问题