0

GMail の連絡先をインポートするために API を使用しました。コードは次のようなものです。

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 です。そのため、Google から使用しないように警告されたことがあります。だから私は直接APIを使いたいです。

4

1 に答える 1

0

Google Contacts API のバージョン 1 と 2 は、2012 年 4 月 20 日に正式に廃止されました。廃止ポリシーに従って引き続き機能しますが、バージョン 3 に移行することをお勧めします。https
: //developers.google. 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 Contacts 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 - .NetおよびGoogle Contacts API バージョン 3.0を確認して、独自のコードを記述してください :)

于 2015-08-26T21:11:23.810 に答える