我试图学习谷歌人api开发应用程序。
我正在使用谷歌api教程 https://developers.google.com/people/v1/getting-started
using Google;
using Google.Apis.Auth.OAuth2;
using Google.Apis.People.v1;
using Google.Apis.People.v1.Data;
using Google.Apis.Services;
...
static void Main(string[] args)
{
// Create OAuth credential.
UserCredential credential =
GoogleWebAuthorizationBroker.AuthorizeAsync(
new ClientSecrets
{
ClientId = "CLIENT_ID",
ClientSecret = "CLIENT_SECRET"
},
new[] { "profile",
"https://www.googleapis.com/auth/contacts.readonly" },
"me",
CancellationToken.None).Result;
// Create the service.
var peopleService = new PeopleService (new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "APP_NAME",
});
PeopleResource.ConnectionsResource.ListRequest peopleRequest =
peopleService.People.Connections.List("people/me");
peopleRequest.PersonFields = "names,emailAddresses";
ListConnectionsResponse connectionsResponse = peopleRequest.Execute();
IList<Person> connections = connectionsResponse.Connections;
当我在教程中使用示例脚本时,信息将被重新检索。
我使用c#在visual studio中创建了一个灵魂。 我对所有需要的谷歌api加入了referance。
该项目不能编译因为PersonFields无法识别。 对于成功的行为
,需要此属性答案 0 :(得分:2)
所以,我遇到了同样的问题,经过几个小时的摧毁我的大脑试图解决它,我发现了一些接近解决方案的东西。
peopleRequest.RequestMaskIncludeField
的值如下:
peopleRequest.RequestMaskIncludeField = "person.names";
(&#34;姓名&#34;单独不起作用,&#34; person.names&#34;确实如此)
有了这个,我设法没有编译错误和答案,唯一给我带来很多痛苦的是根据文档,这是不赞成的......
希望谷歌能尽快更新API,这可以帮到你!!
答案 1 :(得分:1)
这是我的工作和工作。
DatePicker
答案 2 :(得分:0)
我遇到了同样的问题。经过几个小时的游戏后,我想出了 NOT 来使用People.v1
命名空间(就像你在代码示例中那样),但PeopleService.v1
命名空间。这不是Google文档明确说明的内容(它根本没有说明),而且目前我不太清楚这些不同命名空间背后的原因是什么。很想找到一些澄清......