2015-07-06 43 views
0

我在谷歌创建共享联系人,它创建联系人,但我看不到谷歌联系人目录中的联系人。谷歌共享联系人 - 没有出现在目录

我一直在寻求答案,并找到可能this最接近..但我似乎无法得到它的权利......

下面是一些代码:

string s = "https://www.google.com/m8/feeds"; 
string targetUri = @"https://www.google.com/m8/feeds/contacts/mycompany.com/full";   
    string serviceAccountEmail = "[email protected]account.com"; 
    string serviceClientId = "123456789012-xxxx1x1xx11x1xxxxxxx11xxxx1xxx11.apps.googleusercontent.com"; 
    X509Certificate2 certificate = new X509Certificate2(@"C:\All\mygcertificate-1xx1xxx1xx11.p12", "notasecret", X509KeyStorageFlags.Exportable); 

    ServiceAccountCredential credential = new ServiceAccountCredential(new ServiceAccountCredential.Initializer(serviceAccountEmail) 
    { 
     Scopes = new[] 
    { 
     "http://www.google.com/m8/feeds/contacts/" 
    }, 
     User = "[email protected]" 
    }.FromCertificate(certificate)); 


    string AuthenticationToken1 = string.Empty; 
    if (credential.RequestAccessTokenAsync(CancellationToken.None).Result) 
    { 
     AuthenticationToken1 = credential.Token.AccessToken; 
    } 

    Service service = new Service(s, serviceClientId); 

    GAuthSubRequestFactory factory = new GAuthSubRequestFactory(s, serviceClientId); 
    factory.Token = AuthenticationToken1; 
    service.RequestFactory = factory; 


    Contact ct = new Contact(); 
    ct.Name = new Google.GData.Extensions.Name() { GivenName = "Ron", FamilyName = "Swanson", FullName = "Ron Swanson" }; 
    ct.Emails.Add(new Google.GData.Extensions.EMail("[email protected]", @"http://schemas.google.com/g/2005#work") { Primary = true }); 
    ct.Phonenumbers.Add(new Google.GData.Extensions.PhoneNumber("2345555522") { Rel = @"http://schemas.google.com/g/2005#work", Primary = true}); 
    AtomCategory atc = new AtomCategory(); 
    atc.Term = @"http://schemas.google.com/contact/2008#contact"; 
    atc.Scheme = @"http://schemas.google.com/g/2005#kind"; 
    ct.Categories.Add(atc); 


    var atomentrytoinsert = ct.AtomEntry; 

    var result = service.Insert(new Uri(targetUri), atomentrytoinsert); 

    //Stream getresult = service.Query(new Uri(targetUri)); //this read actually gets the records i inserted... 

如果我跑,去年我可以看到我创建的条目......但当我去google联系人并点击目录时 - 他们不在那里。当我编写电子邮件时,也没有自动完成...我是否在某处丢失了一个属性。

我已经在24小时内离开了作品(我在星期五创作了它们)。

将不胜感激任何输入。

回答

0

昨天我尝试了sharedcontact API,新的联系人在目录中不可见。

但今天早上自动完成提示新的联系人!为了让它们在目录中可见,我必须打开管理谷歌控制台 - >谷歌应用程序 - >联系人 - >高级设置,并选中“显示这两个域的配置文件是域共享联系人”

它立即工作对我来说,我希望能帮到你!