0

我使用了一个 API 来导入 GMail 的联系人。代码是这样的:

public static DataTable GetGmailContacts(string App_Name, string Uname, string UPassword)
    {
        Log.LogDebug(string.Format("SettingsController.cs-Importing Contacts for email={0}, password={1} from gmail server", Uname, UPassword));
        DataTable dt = new DataTable();
        DataColumn C2 = new DataColumn();
        C2.DataType = Type.GetType("System.String");
        C2.ColumnName = "EmailID";
        try
        {
            dt.Columns.Add(C2);
            RequestSettings rs = new RequestSettings(App_Name, Uname, UPassword);
            rs.AutoPaging = true;
            ContactsRequest cr = new ContactsRequest(rs);
            Feed<Contact> f = cr.GetContacts();
            foreach (Contact t in f.Entries)
            {
                foreach (EMail email in t.Emails)
                {
                    DataRow dr1 = dt.NewRow();
                    dr1["EmailID"] = email.Address.ToString();
                    dt.Rows.Add(dr1);
                }
            }
            Log.LogDebug(string.Format("SettingsController.cs-Imported Contacts for email={0}, password={1} from gmail server", Uname, UPassword));
            return dt;
        }
        catch (Exception e)
        {
            dt = null;
            Log.LogDebug(string.Format("SettingsController.cs-Imported Contacts for email={0}, password={1} from gmail server", Uname, UPassword));
            return dt;
        }
    }

此代码导入 GMail 联系人,但它是第三方 DLL。所以有一段时间谷歌警告我不要使用它。所以我想使用 Direct API。

4

1 回答 1

0

自 2012 年 4 月 20 日起,Google 联系人 API 的第 1 版和第 2 版已被正式弃用。它们将根据我们的弃用政策继续工作,但我们鼓励您从:https ://developers.google移至第 3 版。 com/google-apps/contacts/v2/developers_guide?hl=en

使用 OAuth 2.0 授权请求

对非公开用户数据的 Google Contacts API 请求必须由经过身份验证的用户授权。

OAuth 2.0 的授权过程或“流程”的细节会有所不同,具体取决于您编写的应用程序类型。以下一般流程适用于所有应用程序类型:

  1. 创建应用程序时,您将其注册到 Google。然后,Google 会提供您稍后需要的信息,例如客户端 ID 和客户端密码。
  2. 在 Google API 控制台的服务窗格中激活 Google 联系人 API。(如果它未在控制台中列出,则跳过此步骤。)
  3. 当您的应用程序需要访问用户数据时,它会要求 Google 提供特定的访问范围。
  4. Google 向用户显示一个 OAuth 对话框,要求他们授权您的应用程序请求他们的一些数据。
  5. 如果用户批准,则 Google 会为您的应用程序提供一个短期访问令牌。
  6. 您的应用程序请求用户数据,并将访问令牌附加到请求中。
  7. 如果 Google 确定您的请求和令牌有效,则会返回请求的数据。

来自: https ://developers.google.com/google-apps/contacts/v3/#authorizing_requests_with_oauth_20

查看Google Contacts API v2 Developer's Guide - .NetGoogle Contacts API 3.0 版以编写您自己的代码 :)

于 2015-08-26T21:11:23.810 回答