gpt4 book ai didi

java - 如何通过 Android 应用程序查看公共(public) Google 日历

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:02:40 27 4
gpt4 key购买 nike

到目前为止,我一定已经完成了基于 Google 日历的所有 Stack Overflow 问题,但一直没有运气。我已经尝试了几个小时,但几乎没有任何结果。

我是一名 Java 和 Android 方面的新程序员,在该领域以外的经验很少。基本上,我遇到的主要问题是查看其他用户设置为公开的 Google 日历。

目前,我已经通过 Google 教程和其他网站设法显示了日历,这非常简单。它只会加载并显示当前用户的日历。这实际上可以通过(在布局中使用一个简单的按钮)来完成。

    public void onClick(View view) {
// A date-time specified in milliseconds since the epoch.
long startMillis = System.currentTimeMillis();

Uri.Builder builder = CalendarContract.CONTENT_URI.buildUpon();
builder.appendPath("time");
ContentUris.appendId(builder, startMillis);
Intent intent = new Intent(Intent.ACTION_VIEW).setData(builder.build());
startActivity(intent);
}

显然这不会传递任何公共(public)帐户的用户数据或任何东西,我一直在阅读 Calendar Provider Google 教程中的开发人员指南。我试过设置帐户详细信息,但从来没有用过。我试过将它作为一个同步适配器来实现,但老实说,我只知道我做的不对。我不知道我是否真的需要使用 Sync Adapter,因为我只想查看事件,而不是修改或更新任何内容。

我正在使用 API 14+ 并想使用 Calendar Provider 等。它看起来很简单,但几天来我一直在抨击它并投入了大量时间,但似乎我所做的一切都不起作用.至少我有某种日历开放,但这不是我想要的。

这一切都取决于同步适配器吗?如果是这样,我将如何调用日历?另一个类似的问题有

private static Uri buildCalUri() {
return CalendarContract.Calendars.CONTENT_URI
.buildUpon()
.appendQueryParameter(CalendarContract.CALLER_IS_SYNCADAPTER, "true")
.appendQueryParameter(Calendars.ACCOUNT_NAME, ACCOUNT_NAME)
.appendQueryParameter(Calendars.ACCOUNT_TYPE, CalendarContract.ACCOUNT_TYPE_LOCAL)
.build();

我希望这与我需要的类似,但我非常不确定。在开发人员教程中,如果帐户不在设备上,ACCOUNT_TYPE_LOCAL 很重要

任何帮助将不胜感激!

最佳答案

如果您希望将公共(public) Google 日历 (www.google.com/calendar) 与您的 Android 应用程序集成,您必须使用 Google Calendar API .

最简单的方法是下载 Google Calendar Client Library from here然后使用 API Reference here .在客户端库页面中,您要下载“Google APIs Java 客户端库 (rc)”包以集成到您的 Android 应用程序中。

您首先需要转到 API Console to create an App with Calendar API Access .

如果您不想使用 native 库,您甚至可以使用 REST API(使用 HTTP GET 和 POST 命令),example App here

希望这对您有所帮助。

关于java - 如何通过 Android 应用程序查看公共(public) Google 日历,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21665862/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com