zoukankan      html  css  js  c++  java
  • 2012 07 17 gmail 抓取联系人 成功

    <?php
    /**
    * 获得Gmail邮箱通讯录列表 -- mail_gmail.class.php
    */
    class mail_gmail {
    function getAddressList($username, $password) {
    $login_url = "https://www.google.com/accounts/ClientLogin";
    $fields = array(
    'Email' => $username,
    'Passwd' => $password,
    'service' => 'cp', // <== contact list service code
    'source' => 'test-google-contact-grabber',
    'accountType' => 'GOOGLE',
    );
    
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $login_url);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $fields);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $result = curl_exec($curl);
    
    $returns = array();
    foreach (explode("\n", $result) as $line) {
    $line = trim($line);
    if (!$line)
    continue;
    list($k, $v) = explode("=", $line, 2);
    $returns[$k] = $v;
    }
    curl_close($curl);
    
    // step 2: grab the contact list
    $feed_url = "http://www.google.com/m8/feeds/contacts/$username/full?alt=json&max-results=250";
    $header = array(
    'Authorization: GoogleLogin auth=' . $returns['Auth'],
    );
    
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $feed_url);
    curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    
    $result = curl_exec($curl);
    curl_close($curl);
    return $result;
    }
    
    }
    
    ?>
  • 相关阅读:
    vue 2 渲染过程 & 函数调用栈
    vue keep-alive的实现原理和缓存策略
    记 vue 表单的一个性能问题
    IIS 部署到服务器上出现数据库连接失败
    JS apply和call
    js 检查对象是否没有字段
    c# httpclient
    js 使用flow
    IIS 出现405
    站点js屏蔽他人广告
  • 原文地址:https://www.cnblogs.com/lingmou/p/2689098.html
Copyright © 2011-2022 走看看