Google calendar: how to access it on android

2019-07-17 02:44发布

What would be the best way to acces the google calendar on android right now?

I found the following ways:

google-api-java-client - It's only an alpha. Authenticating, getting calendar list works, but updating calendar crashes in sample. +no documentation and bad sample codes anyway.

hackity hack reverse engeneering - Sounds bad, also, (propably) not futureproof.

Google data api - As far as I know, it does not support/work on android.

Are there any alternatives that I have missed? Are there any working examples out there?

4条回答
forever°为你锁心
2楼-- · 2019-07-17 03:17

Have you looked at the Data API Developer's Guide: Java? You can also work directly with HTTP request/response, if things you want/need aren't supported in the Java API.

I haven't personally used the Java API, but I have worked directly with HTTP, and found it to be pretty straightforward.

查看更多
看我几分像从前
3楼-- · 2019-07-17 03:20

I recently used SignPost for this. It handles OAuth, and you can use it to sign your HTTP requests to get or post data to your calendars. I had trouble getting Google's Java API to work with Android since I think it relies on Java APIs that are not necessarily present in Android.

To make your requests, you can refer to this page: http://code.google.com/apis/calendar/data/2.0/developers_guide_protocol.html

查看更多
Lonely孤独者°
4楼-- · 2019-07-17 03:28

I think that this is a well known issue, but not so well clear yet. Looking at all the questions and answer provided it seems that you have two options:

  • Use the hacks you were refering in your answer (not suggested at all, because as you said there is no guarantee that the same trick will work in future). Some updates have been made in order to make it works even under froyo, see here.

  • Use this http://code.google.com/p/google-api-java-client/. Quoting from the project description on the website

Written by Google, this library is a flexible, efficient, and powerful Java client library for accessing any HTTP-based API's on the web. It is the recommended library for accessing Google API's based on REST or JSON-RPC.

`

查看更多
叼着烟拽天下
5楼-- · 2019-07-17 03:34

Include these(Calendar-2.1,client 1.0,core 1.0) jar files from gdata api and include two external jar files in our application.. Those two files (guava-11.0.2 and jsr305 ) are available in deps folder of gdata

and this code for retrive events from calendar

Declare globally your calendar id and password

you can reach to me on facebook by using this address on facebook.com/rajivbawa22 for more tutorials

    String userName = "example@gmail.com"; // put here your gmail id 

String userPassword = "12345-example ";// put here your gmail password 

but make sure you have account in gmail as well as in google calendar

try {

        CalendarService myService = new CalendarService("com.demo.calendar");

        myService.setUserCredentials(userName, userPassword);
        // Send the request and print the response
        URL feedUrl = new URL(
                "https://www.google.com/calendar/feeds/"+userName+"/private/full");
        // "https://www.google.com/calendar/feeds/default/owncalendars/full");
        Log.e("", "Calendar1========");
        CalendarFeed resultFeed = myService.getFeed(feedUrl,
                CalendarFeed.class);
        Log.e("", "Calendar2*********" + resultFeed);
        for (int i = 0; i < resultFeed.getEntries().size(); i++) {

            Log.e("", "========" + resultFeed.getEntries().size());

            CalendarEntry entry = resultFeed.getEntries().get(i);

            Log.e("", "**********" + entry.getTitle().getPlainText());

        }
    } catch (Exception e) {

        e.printStackTrace();
    }

see result in logs and give yours feedbacks

查看更多
登录 后发表回答