如何创建谷歌联系人?
问题描述:
我试图TI与谷歌的Gmail联系人我按照这个例子Google Contacts API version 3.0整合我得到的请求,这个错误执行失败:https://www.google.com/m8/feeds/contacts/default/full如何创建谷歌联系人?
Google.Contacts.Contact createdEntry = cr.Insert(feedUri, newEntry);
内期望:
{"The remote server returned an error: (400) Bad Request."}
[Line 12, Column 127, element gd:im] Missing attribute: 'address'
的完整代码
using Google.Contacts;
using Google.GData.Contacts;
using Google.GData.Client;
using Google.GData.Extensions;
RequestSettings settings = new RequestSettings("OVI2GoogleContacts", "my email", "pass");
ContactsRequest cr = new ContactsRequest(settings);
Google.Contacts.Contact newEntry = new Google.Contacts.Contact();
// Set the contact's name.
newEntry.Name = new Name()
{
FullName = "Elizabeth Bennet",
GivenName = "Elizabeth",
FamilyName = "Bennet",
};
newEntry.Content = "Notes";
//Set the contact's e-mail addresses.
newEntry.Emails.Add(new EMail()
{
Primary = true,
Rel = ContactsRelationships.IsHome,
Address = "liz<at>gmail.com"
});
newEntry.Emails.Add(new EMail()
{
Rel = ContactsRelationships.IsWork,
Address = "liz<at>example.com"
});
//Set the contact's phone numbers.
newEntry.Phonenumbers.Add(new PhoneNumber()
{
Primary = true,
Rel = ContactsRelationships.IsWork,
Value = "(206)555-1212",
});
newEntry.Phonenumbers.Add(new PhoneNumber()
{
Rel = ContactsRelationships.IsHome,
Value = "(206)555-1213",
});
// Set the contact's IM information.
newEntry.IMs.Add(new IMAddress()
{
Primary = true,
Rel = ContactsRelationships.IsHome,
Protocol = ContactsProtocols.IsGoogleTalk,
});
// Set the contact's postal address.
newEntry.PostalAddresses.Add(new StructuredPostalAddress()
{
Rel = ContactsRelationships.IsWork,
Primary = true,
Street = "1600 Amphitheatre Pkwy",
City = "Mountain View",
Region = "CA",
Postcode = "94043",
Country = "United States",
FormattedAddress = "1600 Amphitheatre Pkwy Mountain View",
});
// Insert the contact.
Uri feedUri = new Uri(ContactsQuery.CreateContactsUri("default"));
Google.Contacts.Contact createdEntry = cr.Insert(feedUri, newEntry); // here the error
答
Google自己的示例代码似乎无效。根据文档Google Data type/kind gd:im requires the property address to be populated。
@address
@label?
@rel?
@protocol?
@primary?
约定:
elementName Required element
elementName ? Optional element
elementName ***** Optional element, multiple instances allowed
你需要更新,如代码的一部分:
newEntry.IMs.Add(new IMAddress()
{
Address = "[email protected]", // untested
Primary = true,
Rel = ContactsRelationships.IsHome,
Protocol = ContactsProtocols.IsGoogleTalk,
});
答
的问题,同时增加IM的联系人条目由埃里克·建议以上... 在google api示例中,他们错过了提及IM地址的地址
只需添加地址= “[email protected]”,到folllowing
// Set the contact's IM information.
newEntry.IMs.Add(new IMAddress()
{
Primary = true,
Rel = ContactsRelationships.IsHome,
Protocol = ContactsProtocols.IsGoogleTalk,
**Address = "[email protected]",**
});
这就是工作,谢谢你,,我认为电子邮件是错误的 – 2012-04-28 16:22:30