0

Google API を介して Google から引き出された 1 つの Google 連絡先のフィード全体を調べようとしています。フィードに追加のアイテムがあるかどうか、またはどこにあるかを調べて確認するには、場合によっては何時間もかかることがあります。フィードをファイルにダンプして、日付などのフィードを検索し、日付エントリの内容を調査できるようにしたいと考えています。連絡先エントリが更新されたときではなく、連絡先が作成されたときの日付エントリがあるかどうかを確認したい項目の 1 つ。

コードの t コントラクト行の 1 つにブレークポイントを配置することで連絡先をダンプできますが、Visual Studio パネルですべての t エントリを展開するには長い時間がかかります。

フィードをファイルに書き込む方法は? これは、フィード エントリでこれを行う方法に関する単なる基本的な質問です。フィードを取得して file.WriteLine(Feed.whatever) ステートメントまたは同等のものに入れる方法と同様です。

また、フィードをファイルに書き込む方法について、stackoverflow を検索するのにかなりの時間を費やしました。

または、Google コンタクト エントリの実際の完全なスキーマはどこにありますか? Schemas.Google.com は存在しません。

私は何時間も Google API V3 を見てきました。情報はないようです。

以下は、フィードを操作し、連絡先ごとにいくつかのエントリを書き出すための基本的なコードです。このコードは、C# Visual Studio Express で追加された参照と共にダウンロードされた Google コードで動作します。電子メール アドレスとパスワード、および適切な出力ファイルを指定する必要があります。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Google.GData.Contacts;
using Google.GData.Client;
using Google.GData.Extensions;
using Google.Contacts;
using System.Data;
using System.Data.SqlClient;
using System.IO;

//C# program - download Google Contacts and write out contact Ids used for pulling down a single google contact.
//download the google v3 api sample pack and add references to the code for the above google using statements.

namespace RefreshGoogleContactIDS
{
    class Program
    {
        static void Main(string[] args)
        {
            string conoutf = "C:\\Users\\myuser\\Contacts\\contactids.txt";
            StreamWriter con = new StreamWriter(conoutf);
            RequestSettings rs = new RequestSettings("Any title for program", "myemailaddresforgooglecontacts", "mypassword");
            rs.AutoPaging = true;
            ContactsRequest cr = new ContactsRequest(rs);
            ContactsQuery query = new ContactsQuery(ContactsQuery.CreateContactsUri("default"));
            Feed<Contact> f = cr.Get<Contact>(query);

            foreach (Contact t in f.Entries)
            {
                int idpos = t.Id.ToString().LastIndexOf("/") + 1;
                string contactid = t.Id.ToString().Substring(idpos);
                con.WriteLine(contactid + "|" + t.Updated + "|" + t.ToString());
            }
            con.Close();
        }
    }
}
4

0 に答える 0