C#google people api,peopleRequest缺少PersonFields属性
我试图学习开发应用程序的谷歌个人api 我正在使用谷歌api教程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
使用谷歌;
使用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);
}