添加谷歌联系人不起作用
本文关键字:不起作用 联系人 谷歌 添加 | 更新日期: 2023-09-27 18:18:10
我让这段代码"工作"(读不抛出异常)。但这个联系人没有被添加到我的gmail联系人中(我的android手机也没有同步联系人)。
请注意,我可以正确读取联系人,因此凭证是正确的。
我读到我应该检查请求上的状态,但我看到的唯一状态是ContactEntry的属性,它总是null。
这是一个用于测试的控制台应用程序。
public static void AddContact(ContactDetail contact)
{
GContactService = new ContactsService("Contact Infomation");
GContactService.setUserCredentials("myemail@gmail.com", "mypassword");
ContactEntry newEntry = new ContactEntry();
newEntry.Title.Text = contact.Name;
newEntry.Name = new Name() { FullName = "Tristan Savage", GivenName = "Tristan", FamilyName = "Savage"};
EMail primaryEmail = new EMail(contact.EmailAddress1);
primaryEmail.Primary = true;
primaryEmail.Rel = ContactsRelationships.IsWork;
newEntry.Emails.Add(primaryEmail);
PhoneNumber phoneNumber = new PhoneNumber(contact.Phone);
phoneNumber.Primary = true;
phoneNumber.Rel = ContactsRelationships.IsMobile;
newEntry.Phonenumbers.Add(phoneNumber);
PostalAddress postalAddress = new PostalAddress();
postalAddress.Value = contact.Address;
postalAddress.Primary = true;
postalAddress.Rel = ContactsRelationships.IsCompanyMain;
newEntry.PostalAddresses.Add(new StructuredPostalAddress() { City = "montreal", Label = "Bureau"});
newEntry.Content.Content = contact.Details;
Uri feedUri = new Uri(ContactsQuery.CreateContactsUri("default")); //default
ContactEntry createdEntry = (ContactEntry)GContactService.Insert(feedUri, newEntry);
}
我终于想通了。为了使联系人能够访问移动设备,需要GroupMembership !
这是缺失的部分:
var groupMembership = new GroupMembership
{
HRef = "http://www.google.com/m8/feeds/groups/" + utilisateur.CourrielGmailContacts + "/base/6"
};
newEntry.GroupMembership.Add(groupMembership);
尝试注释一些行。只有姓名和电子邮件,你应该能够创建你的联系人。
我可以在这里用。net的例子创建一个联系人:https://developers.google.com/google-apps/contacts/v3/?hl=fr creating_contacts
with Request这样初始化:ContactsRequest Request = new ContactsRequest(new RequestSettings("appName", "user@gmail.com", "password"));
请注意,您的新联系人没有关联到一个组。所以你不会看到联系人出现在"我的联系人"/"我的联系人"中。你应该在"Other contacts"/" aures contacts"中看到它