从谷歌意外未定义索引中获取联系人时

Posted

技术标签:

【中文标题】从谷歌意外未定义索引中获取联系人时【英文标题】:While fetching contacts from google unexpected undefined index 【发布时间】:2016-06-11 13:27:26 【问题描述】:

当用户允许权限和脚本开始处理时,每个数据都完美显示,但我得到错误

php 通知:未定义索引:gd$email in

这是我的 php 代码

if (!empty($contacts['feed']['entry']))
    
foreach($contacts['feed']['entry'] as $contact)
    

    // retrieve user photo

    if (isset($contact['link'][0]['href']))
        
        $url = $contact['link'][0]['href'];
        $url = $url . '&access_token=' . urlencode($accesstoken);
        $curl = curl_init($url);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($curl, CURLOPT_TIMEOUT, 15);
        curl_setopt($curl, CURLOPT_VERBOSE, true);
        $image = curl_exec($curl);
        curl_close($curl);
        


    if ($image === 'Photo not found')
        

        // retrieve Name and email address

        $return[] = array(
            'name' => $contact['title']['$t'],
            'email' => $contact['gd$email'][0]['address'],
            'img_url' => '//cdn.twkcdn.com/profile/image/avatar.png?w=40&h=40&cf',
        );
        
      else
        

        // retrieve Name and email address

        $return[] = array(
            'name' => $contact['title']['$t'],
            'email' => $contact['gd$email'][0]['address'],
            'img_url' => $url,
        );
        
    

$google_contacts = $return; //returning all d

这只是半脚本的示例,我不知道为什么每次访问此页面时从谷歌获取联系人大约需要 15 到 20 秒

【问题讨论】:

没有更多关于您调用哪个 google api 的详细信息,很难猜测响应,我看到 'gd$email',我认为 google 使用“gd:email”冒号而不是 $。如果您尝试将变量放入字符串中,则需要使用双引号,以便解析变量。 【参考方案1】:

Google 不会检查所有条目是否都有电子邮件地址。

在 Foreach 之后立即添加:

if (!array_key_exists('gd$email', $contact))
    continue;

【讨论】:

以上是关于从谷歌意外未定义索引中获取联系人时的主要内容,如果未能解决你的问题,请参考以下文章

Android 获取联系人列表未在 Android 10 中显示

如何在颤振中从谷歌地图获取位置的经纬度坐标?

如何在注册过程中获取多个谷歌凭据(Gmail API、Pub/Sub、联系人)

使用标记从谷歌地图获取纬度/经度坐标

如何从谷歌驱动器获取修订内容

从android中的指定组获取联系人