2011-12-20 9 views
0

を取得することができません。私はGmailでログインしているユーザーの友人のすべての情報私はGoogleの統合のasp.netアプリケーションを作成していますGmailの連絡先の写真

を取得したいです。私はgridviewの連絡先のリストを持っています。しかし、私は、任意の連絡先のプロフィール写真を得るために

ことはできませんよ。私は

のGridViewに動的にDataColumnsのを追加しています。ここで

は写真を取得する私のコードです:

RequestSettings rs = new RequestSettings(App_Name, Uname, Password_property); 

     rs.AutoPaging = true; 

     ContactsRequest cr = new ContactsRequest(rs); 

     Feed<Contact> f = cr.GetContacts(); 

     foreach (Contact t in f.Entries) 
     { 
      Stream photo = cr.Service.Query(t.PhotoUri); 

       if (photo != null) 
       { 
        dr1["Profile Pic"] = System.Drawing.Image.FromStream(photo); 
       } 
     } 

それはクラッシュとリモートサーバーがエラーを返しましたと言います。また、クラッシュし、私はとにかく連絡先の写真を取得することはできませんよ

Google.GData.Client.GDataNotModifiedException : Content not modified 

の誤差を与える

Stream photo = cr.GetPhoto(t); 

if (photo != null) 
{ 
    dr1["Profile Pic"] = System.Drawing.Image.FromStream(photo); 
} 

は、私は別のコードを試してみました。

何か助けていただければ幸いです。

おかげ

+0

を取得します。誰もがいくつかのコードを提供してください。私はそれが緊急に必要です – Isha

答えて

1

次のコードは、私のために正常に動作します:

public static List<ContactDetail> GetAllContact(string username, string password) 
{ 
    List<ContactDetail> contactDetails = new List<ContactDetail>(); 
    ContactsQuery query = new ContactsQuery(ContactsQuery.CreateContactsUri("default")); 
    RequestSettings rs = new RequestSettings("W7CallerID", username, password); 
    ContactsRequest cr = new ContactsRequest(rs); 

    Feed<Contact> feed = cr.GetContacts(); 
    foreach (Contact entry in feed.Entries) 
    { 
     ContactDetail contact = new ContactDetail 
     { 
      Name = entry.Name.FullName, 
      EmailAddress1 = entry.Emails.Count >= 1 ? entry.Emails[0].Address : "", 
      EmailAddress2 = entry.Emails.Count >= 2 ? entry.Emails[1].Address : "", 
      Phone = entry.Phonenumbers.Count >= 1 ? entry.Phonenumbers[0].Value : "", 
      Details = entry.Content, 
      Pic = System.Drawing.Image.FromStream(cr.Service.Query(entry.PhotoUri)) 
     }; 

     contactDetails.Add(contact); 
    } 

    return contactDetails; 
} 
0

私は正常のGDataライブラリを使用して写真を取得するために管理しています。写真はストリームとして返されます。

次のコードは、私は、静止画像を取得することはできませんよストリーム

   requestFactory = new GOAuthRequestFactory("c1", ApplicationName, parameters); 
      service = new ContactsService(ApplicationName); 
      service.RequestFactory = requestFactory; 

      resultsStream = service.Query(new Uri(Uri)); 
関連する問題