使用脚本

时间:2016-03-09 16:12:37

标签: google-apps-script google-api google-contacts

这是我的问题,我希望有人可以帮助我:(

问题描述: 我每天都会使用PHP脚本备份Google / Gmail与帐户的联系人。 我得到一个原子文件,但我想要一个google_csv文件。

重现步骤: 在身份验证(OAuth v3)API之后,我获得了带有POST https://www.google.com/m8/feeds/contacts/default/full?access_token=XXXXXXXXX的contactList。 所以我得到一个ATOM文件,但我想提取一个谷歌csv(与组....)

我试着用 - contacts / default / full?alt = csv& access_token = XXXXXXXXX(KO) - contacts / default / full?alt = google_csv& access_token = XXXXXXXXX(KO) - contacts / default / full?out = google_csv& access_token = XXXXXXXXX(KO) - https://www.google.com/s2/u/0/data/exportquery?ac=false&cr=true&ct=true&ev=true&f=g2&gp=true&hl=fr&id=personal&max=-1&nge=true&out=google_csv&sf=display&sgids=6%2Cd%2Ce%2Cf%2C17&st=0&type=4&tok=XXXXXXXXX(KO) ...

有没有建议将原子文件转换为google_csv文件?或者直接从google获取带有exportquery的google_csv?

由于

1 个答案:

答案 0 :(得分:0)

基于此SO ticket,您需要有一个csv文件,该文件是一个表,具有明确定义的列和每行中相同的列数。

下面的脚本将向您展示如何在.csv文件中获取Google通讯录。您需要以字符串形式获取数据,并使用脚本将其打印为电子表格格式。

<?php

$data = $_POST['email'];

$arry[] = explode(',', $data);

foreach ($arry as $row) 
{
    $arlength = count($row);
    for ($i = 0; $i < $arlength; $i++) 
    {
    $farry[] = explode(',', $row[$i]);
    }
}

header("Content-type: text/csv");
header("Content-Disposition: attachment; filename=file.csv");
header("Pragma: no-cache");
header("Expires: 0");

$file = fopen('php://output', 'w');
fputcsv($file, array('Description'));
foreach ($farry as $row) 
{
    fputcsv($file, $row);
}

exit();

选中tutorial