草庐IT

android - google 的 People API 与 contacts API

coder 2023-12-13 原文

在尝试使用用户的 google 帐户获取联系人时,我在使用 people API 后遇到了一些问题。它只返回所有列出的电子邮件地址中的几个。访问 token 和所有范围都已正确设置。 以下代码:

People peopleService = new People.Builder(httpTransport, jsonFactory, credential)
                    .build();
ListConnectionsResponse response = peopleService.people().connections().list("people/me")
                    .setPageSize(500).setSortOrder("FIRST_NAME_ASCENDING")
                    .setAccessToken(tokenResponse.getAccessToken())
                    .setAlt("json")
                    .setRequestMaskIncludeField("person.names,person.emailAddresses,person.phoneNumbers")
                    . execute();
   connections = response.getConnections();

如果我使用 google 的联系 API 而不是这个,那么我得到的电子邮件地址比人多。联系 API 的代码:

URL feedUrl = new URL("https://www.google.com/m8/feeds/contacts/default/full");
    ContactFeed resultFeed = myService.getFeed(feedUrl, ContactFeed.class);

    // Print the results
    System.out.println(resultFeed.getTitle().getPlainText());
    for (ContactEntry entry : resultFeed.getEntries()) {
          ....
          .....
          .......
 }

我想知道它们之间是否有任何区别,我必须使用哪个以获得更好的结果,或者我是否遗漏了什么。请建议。谢谢..!!

最佳答案

People API 是最新的。通读Google's blog announcement , People API 简化了对 Google+ API 和 Contacts API 的单独调用。现在你只需要使用一个。

"The new People API uses the newest protocols and technologies and will eventually replace the Contacts API which uses the GData protocol"

获取用户的 list of connections 时, 请务必指定 correct scopes使用时。

https://www.googleapis.com/auth/contacts - 请求为您的应用授予对经过身份验证的用户的 Google 通讯录中联系人的读写权限。 https://www.googleapis.com/auth/contacts.readonly - 请求您的应用获得对经过身份验证的用户的 Google 通讯录中联系人的读取权限。

检查这个link for similarities and differences People API 和 Contacts API 之间。

关于android - google 的 People API 与 contacts API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37695695/

有关android - google 的 People API 与 contacts API的更多相关文章

  1. 安卓apk修改(Android反编译apk) - 2

    最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路

  2. ruby - Google-api-ruby-client 翻译 API 示例 - 2

    很高兴看到google代码:google-api-ruby-client项目,因为这对我来说意味着Ruby人员可以使用GoogleAPI-s来完善代码。虽然我现在很困惑,因为给出的唯一示例使用Buzz,并且根据我的实验,Google翻译(v2)api的行为必须与google-api-ruby-client中的Buzz完全不同。.我对“Explorer”演示示例很感兴趣——但据我所知,它并不是一个探索器。它所做的只是调用一个Buzz服务,然后浏览它已经知道的关于Buzz服务的事情。对我来说,Explorer应该让您“发现”所公开的服务和方法/功能,而不一定已经知道它们。我很想听听使用这个

  3. ruby - 如何从 URL 中删除 Google 跟踪参数 (UTM)? - 2

    我有一堆要清理的URL。它们都包含UTM参数,在这种情况下不是必需的,或者是有害的。示例:http://houseofbuttons.tumblr.com/post/22326009438?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+HouseOfButtons+%28House+of+Buttons%29所有可能的参数都以utm_开头。如何使用ruby​​脚本/结构轻松删除它们而不破坏其他潜在的“好”URL参数? 最佳答案 您可以将正则表达式应用于url以清

  4. ruby - 尝试授权服务器到 ruby​​ 中的服务器类型应用程序以访问 Google 日历时无效授权 - 2

    我正在尝试为自己创建一个直接连接到我的日历的应用程序……但我从不想参与重新验证。我只想编写一次身份验证代码并完成它。授权码如下:key=Google::APIClient::PKCS12.load_key(SERVICE_ACCOUNT_PKCS12_FILE_PATH,PASSWORD)asserter=Google::APIClient::JWTAsserter.new(SERVICE_ACCOUNT_EMAIL,'https://www.googleapis.com/auth/calendar',key)@client=Google::APIClient.new@client.a

  5. ruby-on-rails - 如何编写 Rails 4 测试以使用 omniauth-google-oauth2 gem 创建 session ? - 2

    我正在尝试为使用omniauth-google-oauth2gem创建session编写测试。我是否需要将env["omniauth.auth"]变量与post:create一起传递?也许当我试图这样做时,我做错了。我得到的错误如下所示...Rake测试错误1)Error:SessionsControllerTest#test_should_get_create:NoMethodError:undefinedmethod`provider'fornil:NilClassapp/models/user.rb:6:in`from_omniauth'app/controllers/sessi

  6. ruby - 如何在 Ruby 中使用 OpenID 访问 Google 通讯录 - 2

    我正在使用devise登录omniauth,authid。当用户登录时,我得到user_info:name:RiccardoTacconilast_name:Tacconiemail:email@gmail.comfirst_name:Riccardouid:https://www.google.com/accounts/o8/id?id=xxxxxxxxxprovider:google_apps我找到了一个插件:http://stakeventures.com/articles/2009/10/06/portable-contacts-in-ruby获取Google通讯录。我只需要使

  7. ruby-on-rails - 如何授权google-api-ruby-client? - 2

    我正在努力让google-api-ruby-clientgem按照这里的基本用法示例工作:基本用法require'google/apis/drive_v2'Drive=Google::Apis::DriveV2#Aliasthemoduledrive=Drive::DriveService.newdrive.authorization=...#SeeGoogleauthorSignetlibraries#SearchforfilesinDrive(firstpageonly)files=drive.list_files(q:"titlecontains'finances'")files

  8. ruby-on-rails - Rails 如何为 Google Charts 构建数据结构 - 2

    我想使用googlecharts创建一个如下所示的图表:GoogleChart.pie_400x200('TacoBell'=>0,'Mediterranean'=>2,'Shivas'=>5)给定一个对象Results(name,count)。如何为GoogleCharts的结构创建一个对象,如上所示?谢谢 最佳答案 从您在评论中列为@results的结果对象开始,以下应该有效:GoogleChart.pie_400x200(@results.map{|r|{r[:title]=>r[:percentage]}})

  9. ruby-on-rails - Ruby on Rails 私有(private)链接共享 : Google Docs Style - 2

    如果要让用户能够共享一个私有(private)链接,让任何点击它的人都能查看具有隐私限制的特定页面/文档/项目,最好的方法是什么?以我为例:用户创建的事件仅限于数据库中某些关系组(即:friend、friend的friend等)我在事件Controller中有一个:before_filter检查资格当前登录用户的权限,以确保该用户有权查看该事件。如果他们不这样做,他们将被引导到根页面并显示一条错误消息。但是,我希望存在一个特殊场景,用户可以使用相同的隐私设置创建一个事件,此外,还可以通过电子邮件、Facebook等方式与他或她的friend分享一个特殊链接。那些用户不需要帐户(但需要创

  10. ruby - 如何授权使用 google-api-ruby-client - 2

    我正在为ruby​​使用googleapi,但不知道如何开始,请给我一个ABC示例,非常感谢? 最佳答案 如果您要创建服务帐户应用程序以访问GoogleAnalytics。通过https://code.google.com/apis/console向Google注册.在APIAccess选项卡上,单击CreateclientID,选择ServiceAccount。存储Google将生成的key文件,并记住该key的密码。这里有一些代码可以帮助您入门require'rubygems'require'google/api_client'

随机推荐