【问题标题】:Deleting Contact information (Email) for any google Account删除任何 google 帐户的联系信息(电子邮件)
【发布时间】:2015-08-08 11:22:30
【问题描述】:

场景就像,我更新了用户主 EmailId,它已成功更新。 但是该帐户注册时使用的旧电子邮件 ID 被添加为别名并显示在该帐户的联系信息中。我可以删除别名,但联系信息仍显示旧的电子邮件 ID。 这是我尝试过的代码

 Aliases objAliases = service.Users.Aliases.List(chkUser.Id).Execute();
            foreach (Alias a in objAliases.AliasesValue)
            {
                service.Users.Aliases.Delete(chkUser.Id, a.AliasValue).Execute();
            }

以上代码用于别名,联系信息是我正在努力解决的问题。 下面的截图会清除图片。

标记为 1. 的圆圈是我需要删除的电子邮件。 标记为 2. 的圆圈是我可以清除的别名。

【问题讨论】:

    标签: c# google-api google-admin-sdk google-api-dotnet-client google-directory-api


    【解决方案1】:

    因此,正如您所发现的,联系人信息在应用程序中可能很棘手。用户可以拥有您所看到的别名,也可以将电子邮件地址(通常是外部地址)添加到他们的联系信息中。我的猜测是:更改电子邮件地址也会更改(即添加)为用户列出的"emails": []。在他们的联系信息中。

    要对此进行测试,请使用OAuth Playground 运行GET for the user,我怀疑您会看到仍添加在电子邮件下方的地址,而不是别名部分。

    除了Users.Aliases.Delete 调用之外,您还需要单独调用以从联系信息中删除它(这也将使用Directory API)。

    单独的调用可能是对用户端点的 PUT 请求,其中仅包含您想要保留的数据。不要放空值,删除整个JSON对象

    希望这会有所帮助!

    【讨论】:

    • 我也试过了。假设我已经更改了 n 次主电子邮件。它显示 n 个别名,而联系信息只是它注册的电子邮件 ID(第一个)。即使我删除别名,对联系信息也没有影响。
    • 确认,当您运行 GET 时,您只会看到列出的新主电子邮件。响应中根本没有引用旧的。如果是这种情况,您能否提供更多详细信息,您在哪里看到旧的?它在自动完成、目录等中吗?有可能,由于之前收到过消息,告知的地址在个人联系人(我的或其他联系人)中,现在正在为您显示该信息。
    • 在 Directory API 中,当您获取用户 (developers.google.com/admin-sdk/directory/v1/guides/…) 时,标记为 2 的圆圈将列在“别名”下:[]。标记为 1 的圆圈将列在“电子邮件”下:[]。您能否使用 OAuth 游乐场为同一用户提取此内容并将响应/请求添加到描述中?根据需要进行消毒。
    • 是的,你是对的,现在问题是电子邮件是对象的类型。所以不知道它包含什么类型的数据。我将如何更新对象类型的电子邮件中的信息。
    • 用选项更新了我的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-22
    • 2012-01-09
    相关资源
    最近更新 更多