通过删除硬编码的Gmail凭据来获取谷歌联系人使用Gdata授权

时间:2013-01-09 09:37:56

标签: api contacts gdata

我们的想法是通过gmail登录并获取所有联系人详细信息,并将PHP代码中的联系人添加到Google联系人列表中。 整个流程运行良好,我正在获取联系人列表,并添加与字段的联系人。 问题是代码有硬编码变量,我需要设置谷歌电子邮件和密码。我想有一个指向authoriZe的链接,然后得到所有响应.. 因此,我只需要首次尝试使用API​​或令牌方法绕过凭据并获取联系人详细信息

请建议是否有人经历过此问题或分享可能有助于解决方案的示例或资源。

以下是代码段...

$user = "XXX@XXX.com";
$pass = "XXX";

//需要删除上面两行并使用一些其他工作内容组合登录即时API

try {
      // perform login and set protocol version to 3.0
      $client = Zend_Gdata_ClientLogin::getHttpClient(
      $user, $pass, 'cp');

$ gdata = new Zend_Gdata($ client);       $ gdata-> setMajorProtocolVersion(3);

  // perform query and get feed of all results
  $query = new Zend_Gdata_Query(
    'http://www.google.com/m8/feeds/contacts/default/full');
  $query->maxResults = 1000;
  $query->setParam('orderby', 'lastmodified');
  $query->setParam('sortorder', 'descending');
  $feed = $gdata->getFeed($query);

//在下面的循环中显示数据....     }

基本上我想删除userpwd变量并动态执行以获取数据。 现在我正在获取所有联系人并且还能够添加联系人,但是使用令牌或其他方式将设置凭据的方式更改为更安全..

1 个答案:

答案 0 :(得分:1)

直接使用用户名和密码,您需要使用Google OAuth。您需要先在Google OAuth中创建项目并指定正确的详细信息。使用在那里创建的应用程序,您可以请求用户的许可并在响应中获取其联系人详细信息。

How to get Google Contacts information using Google OAuth?