0

我让这段代码“工作”(阅读不抛出异常)。但是该联系人没有按应有的方式添加到我的 gmail 联系人中(也没有在我的同步联系人的 android 手机上)。

请注意,我可以正确读取联系人,因此凭据是正确的。

我读到我应该检查请求中的状态,但我看到的唯一状态是 ContactEntry 的一个属性,它始终为空。

这是一个用于测试的控制台应用程序。

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); 

        }
4

2 回答 2

2

我终于弄明白了。需要 GroupMembership 才能让联系人访问移动设备!

这是缺少的部分:

var groupMembership = new GroupMembership
{
    HRef = "http://www.google.com/m8/feeds/groups/" + utilisateur.CourrielGmailContacts + "/base/6"
};
newEntry.GroupMembership.Add(groupMembership);
于 2013-07-03T17:53:37.720 回答
1

尝试评论一些行。只有姓名和电子邮件,您应该能够创建您的联系人。

我可以在此处使用 .NET 示例创建联系人: https ://developers.google.com/google-apps/contacts/v3/?hl=fr#creating_contacts

以这种方式初始化请求: ContactsRequest Request = new ContactsRequest(new RequestSettings("appName", "user@gmail.com", "password"));

请注意,您的新联系人未与群组关联。因此,您不会在“我的联系人”/“我的联系人”中看到该联系人。您应该在“其他联系人”/“Autres 联系人”中看到它。

于 2013-06-21T19:02:29.947 回答