当前位置: 首页 > 知识库问答 >
问题:

Google People API无法获得今年的生日

沈德寿
2023-03-14

这是我在stackoverflow的第一个问题。当我试图获取用户生日年份时,我遇到了一个问题。这是我的日志。

D/FitPartners: {“date”:{“day”:20,“month”:1},“元数据”:{“primary”:true,“source”:{“id”:“1....41”,“类型”:“PROFILE”}}}

如你所见,我可以很好地得到月份和日期。但是,那里没有年份。即使我使用谷歌试试看!来自https://developers.google.com/people/api/rest/v1/people/get.的回复也没有给出年份。

Response

200 OK

- Show headers -

{
 "resourceName": "people/1.......41",
 "etag": "r....a4o=",
 "birthdays": [
  {
   "metadata": {
    "primary": true,
    "source": {
     "type": "PROFILE",
     "id": "1........41"
    }
   },
   "date": {
    "month": 1,
    "day": 20
   }
  }
 ]
}

我一直在试图弄清楚这一点,并在决定提问之前从stackoverflow搜索了4天。请帮忙。

共有3个答案

阎鹏
2023-03-14

People API返回2个生日,第一个生日只有日期和月份,第二个还有年份。这是java代码的片段

public static String getBirthday(Person person) {
        try {
            List<Birthday> birthdayList = person.getBirthdays();
            if (birthdayList == null) return Utils.EMPTY_STRING;
            Date date = null;
            for (Birthday birthday : birthdayList) {
                date = birthday.getDate();
                if (date != null && date.size() >= 3) break; // 3 means included day, month and year
                else date = null;
            }
            if (date == null) return Utils.EMPTY_STRING;
            Calendar calendar = Calendar.getInstance();
            calendar.set(date.getYear(), date.getMonth() - 1, date.getDay());
            return Utils.convertDateToString(calendar);
        } catch (Exception e) {
            Utils.handleException(e);
            return Utils.EMPTY_STRING;
        }
    }
屠君墨
2023-03-14

错过出生年份的另一个原因是您的生日是1970年1月1日。在这种情况下,API不会返回您的生日。

如果您禁用了Google plus个人资料中的年份显示,则个人资料将返回1月1日,帐户仍将不返回任何内容。

景鸿才
2023-03-14

如果您想验证此人的年龄,也许可以查看年龄范围字段是否符合您的需要。你可以通过请求https://www.googleapis.com/auth/profile.agerange.read镜来得到它。

 类似资料:
  • 我试过了 但它给了我编译时错误 无法从静态上下文引用非静态方法“get(int)”。 我从observable的调用方法调用这个方法。 我还看到了但它已被弃用。

  • 本文向大家介绍python根据出生日期获得年龄的方法,包括了python根据出生日期获得年龄的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python根据出生日期获得年龄的方法。分享给大家供大家参考。具体如下: 这段代码可以根据用户的出生日期获得其年龄,born参数为date类型 希望本文所述对大家的Python程序设计有所帮助。

  • 问题内容: 换句话说,我想要提供Joda-Time的功能: 但没有Joda-Time,只有java.util.Date。 不推荐使用.setHours()等方法。有没有更正确的方法? 问题答案: 由于不推荐使用这些方法,因此您可以使用: 如果最终需要一个对象,只需调用

  • 问题内容: 我有一个年份值和一年中的某天,并想转换为日期(天/月/年)。 问题答案:

  • 问题内容: 我正在使用python 2.7解析一些日期时间字符串。我想假设一个日期早于现在。 但是strptime的运算符默认情况下不会执行此操作: 有什么办法可以让Python假设是,就像通常使用的那样? 还是我应该只解析字符串并手动插入或? 问题答案: 事实发生后很容易解决: