C#google people api,peopleRequest缺少PersonFields属性

C#google people api,peopleRequest缺少PersonFields属性,c#,google-api,google-people,C#,Google Api,Google People,我试图学习开发应用程序的谷歌个人api 我正在使用谷歌api教程 使用谷歌; 使用Google.api.Auth.OAuth2; 使用Google.api.People.v1; 使用Google.api.People.v1.Data; 使用Google.api.Services; ... 静态void Main(字符串[]参数) { //创建OAuth凭据。 用户凭据凭据= GoogleWebAuthorizationBroker.AuthorizationAsync( 新客户的秘密 { Cl

我试图学习开发应用程序的谷歌个人api

我正在使用谷歌api教程

使用谷歌;
使用Google.api.Auth.OAuth2;
使用Google.api.People.v1;
使用Google.api.People.v1.Data;
使用Google.api.Services;
...
静态void Main(字符串[]参数)
{
//创建OAuth凭据。
用户凭据凭据=
GoogleWebAuthorizationBroker.AuthorizationAsync(
新客户的秘密
{
ClientId=“客户机\u ID”,
ClientSecret=“客户的秘密”
},
新[]{“配置文件”,
"https://www.googleapis.com/auth/contacts.readonly" },
“我”,
取消令牌。无)。结果;
//创建服务。
var peopleService=new peopleService(new BaseClientService.Initializer())
{
HttpClientInitializer=凭证,
ApplicationName=“应用程序名称”,
});
PeopleResource.ConnectionsResource.ListRequest peopleRequest=
peopleService.People.Connections.List(“人/我”);
peopleRequest.personfeelds=“姓名、电子邮件地址”;
ListConnectionResponse connectionResponse=peopleRequest.Execute();
IList connections=connectionsResponse.connections;
当我在教程中使用示例脚本时,信息会被正确检索

我在visual studio中使用c#创建了一个解决方案。 我附加了所有谷歌api所需的参考

项目未编译,因为未识别人员配置文件。
这个属性是获得成功所必需的

因此,我也遇到了同样的问题,在几个小时试图解决这个问题时,我摧毁了我的大脑,我找到了接近解决方案的东西

peopleRequest.RequestMaskIncludeField
有这样的价值观:

peopleRequest.RequestMaskIncludeField = "person.names";
(“名字”本身不起作用,“人名”起作用)

有了它,我就不会有编译错误和答案,唯一让我感到痛苦的是,根据文档,这是不推荐的


希望谷歌能尽快更新API,这会对你有所帮助!!

我遇到了同样的问题。经过几个小时的反复思考,我发现不是使用
People.v1
名称空间(就像你在代码示例中所做的那样)但是
PeopleService.v1
名称空间。这不是谷歌文档中明确说明的内容(根本没有说太多),目前我还不太清楚这些不同名称空间背后的原因是什么。我希望能找到一些澄清…

这是我的创新和工作

        peopleRequest.RequestMaskIncludeField = new List<string>() {
            "person.phoneNumbers" ,
            "person.EmailAddresses",
            "person.names"
        };

        ListConnectionsResponse people = peopleRequest.Execute();

        if (people != null && people.Connections != null && people.Connections.Count > 0)
        {
            foreach (var person in people.Connections)
            {
                Console.Write(person.Names != null ? (person.Names[0].DisplayName + "  " ?? "n/a") : "n/a  ");
                Console.Write(person.EmailAddresses?.FirstOrDefault()?.Value + "  ");
                Console.WriteLine(person.PhoneNumbers?.FirstOrDefault()?.Value);
            }

            if (people.NextPageToken != null)
            {
                GetPeople(service, people.NextPageToken);
            }
peopleRequest.RequestMaskIncludeField=新列表(){
“个人电话号码”,
“个人电子邮件地址”,
“人名”
};
ListConnectionsResponse people=peopleRequest.Execute();
if(people!=null&&people.Connections!=null&&people.Connections.Count>0)
{
foreach(人与人之间的变量person.Connections)
{
Console.Write(person.Names!=null?(person.Names[0]。DisplayName+“”?“不适用”):“不适用”);
Console.Write(person.EmailAddresses?.FirstOrDefault()?.Value+);
Console.WriteLine(person.phoneNumber?.FirstOrDefault()?.Value);
}
if(people.NextPageToken!=null)
{
GetPeople(服务,people.NextPageToken);
}
        peopleRequest.RequestMaskIncludeField = new List<string>() {
            "person.phoneNumbers" ,
            "person.EmailAddresses",
            "person.names"
        };

        ListConnectionsResponse people = peopleRequest.Execute();

        if (people != null && people.Connections != null && people.Connections.Count > 0)
        {
            foreach (var person in people.Connections)
            {
                Console.Write(person.Names != null ? (person.Names[0].DisplayName + "  " ?? "n/a") : "n/a  ");
                Console.Write(person.EmailAddresses?.FirstOrDefault()?.Value + "  ");
                Console.WriteLine(person.PhoneNumbers?.FirstOrDefault()?.Value);
            }

            if (people.NextPageToken != null)
            {
                GetPeople(service, people.NextPageToken);
            }