Accessing google calendar through Android using the given protocol

by Nikhil Agarwal » Thu, 21 Jan 2010 19:10:16 GMT


Sponsored Links
 I need to insert,update,delete events in google calendar using
android. I tried using the gdata calendar protocol directly from
 http://code.google.com/apis/calendar/data/2.0/developers_guide_protocol.html 
but I could not go beyond authenticating the user.

I was able to authenticate the user and I extracted the Auth code
using:-

temp1 = EntityUtils.toString(response.getEntity());
if(response.getStatusLine().getStatusCode()==200)
                auth = temp1.substring(temp1.indexOf("Auth=")+5).trim
();

After this I tried inserting an event which did not work. I was
getting status code 200 in response and I am not sure even if I did
get a proper response, how can I extract the cookie s and gsessionid
for my next request.

I tried creating a calendar instead and I received the same status
code 200. I used the following code:-

   String messageBody="<entry xmlns=' http://www.w3.org/2005/Atom '"+
       " xmlns:gd=' http://schemas.google.com/g/2005 '"+
       " xmlns:gCal=' http://schemas.google.com/gCal/2005 '>"+
  " <title type='text'>SMS Invite Schedule</title>"+
  " <summary type='text'>This calendar contains the practice schedule
and game times.</summary>"+
  " <gCal:timezone value='Singapore/Asia'></gCal:timezone>"+
  " <gCal:hidden value='false'></gCal:hidden>"+
  " <gCal:color value='#2952A3'></gCal:color>"+
  " <gd:where rel='' label='' valueString='Oakland'></gd:where>"+
" </entry>";
 StringEntity entity =new StringEntity(messageBody);
            entity.setContentType("application/atom+xml");
            entity.setChunked(true);
            httppost.setEntity(entity);
            httppost.setHeader("Authorization", "GoogleLogin
auth="+auth);
            httppost.setHeader("GData-Version", "2");
            //httppost.setHeader("Content-Length",String.valueOf
(entity.getContentLength()));
            //httppost.setHeader("Content-Type", "application/atom
+xml");
            HttpResponse response = httpclient.execute(httppost);

As can be seen from the code, I commented Content-Length and Content-
Type as otherwise I would get a ClientProtocolException (content-
length was causing the exception, didn't put content-type since it is
already mentioned in the entity...not sure where it should be
defined).

I am sorry that I don't understand the basics correctly. I did refer
to the apache site for httpclient stuff but it wasn't of much help.
Please help me out with the above problems.  Thank you.



Accessing google calendar through Android using the given protocol

by Nikhil Agarwal » Thu, 21 Jan 2010 19:18:52 GMT


 I need to insert,update,delete events in google calendar using
android. I tried using the protocol given at
 http://code.google.com/apis/calendar/data/2.0/developers_guide_protocol.html 
but I was unable to go beyond authenticating the user.

I was able to authenticate the user and I extracted the Auth code
using:-
 temp1 = EntityUtils.toString(response.getEntity());
if(response.getStatusLine().getStatusCode()==200)
                auth = temp1.substring(temp1.indexOf("Auth=")+5).trim
();

After this I tried inserting an event which did not work. I was
getting status code 200 in response and I am not sure even if I did
get a proper response, how can I extract the cookie s and gsessionid
for my next request.

I tried creating a calendar instead and I received the same status
code 200. I used the following code:-

   String messageBody="<entry xmlns=' http://www.w3.org/2005/Atom '"+
       " xmlns:gd=' http://schemas.google.com/g/2005 '"+
       " xmlns:gCal=' http://schemas.google.com/gCal/2005 '>"+
  " <title type='text'>ABC Project Schedule</title>"+
  " <summary type='text'>This calendar...</summary>"+
  " <gCal:timezone value='Singapore/Asia'></gCal:timezone>"+
  " <gCal:hidden value='false'></gCal:hidden>"+
  " <gCal:color value='#2952A3'></gCal:color>"+
  " <gd:where rel='' label='' valueString='Oakland'></gd:where>"+
" </entry>";
 StringEntity entity =new StringEntity(messageBody);
            entity.setContentType("application/atom+xml");
            entity.setChunked(true);
            httppost.setEntity(entity);
            httppost.setHeader("Authorization", "GoogleLogin
auth="+auth);
            httppost.setHeader("GData-Version", "2");
            //httppost.setHeader("Content-Length",String.valueOf
(entity.getContentLength()));
            //httppost.setHeader("Content-Type", "application/atom
+xml");
            HttpResponse response = httpclient.execute(httppost);

As can be seen from the code, I commented Content-Length and Content-
Type as otherwise I would get a ClientProtocolException (content-
length was causing the exception, didn't put content-type since it is
already mentioned in the entity...not sure where it should be
defined).

I am sorry that I don't understand the basics correctly. I did refer
to the apache site for httpclient stuff but it wasn't of much help.
Please help me out with the above problems. It is very important for
my Android application to have this functionality. Thank you.


Sponsored Links


Accessing google calendar through Android using the given protocol

by Nikhil Agarwal » Thu, 21 Jan 2010 19:22:19 GMT


 I need to insert,update,delete events in google calendar using
android. I tried using the protocol given at
 http://code.google.com/apis/calendar/data/2.0/developers_guide_protoc... 
but I was unable to go beyond authenticating the user.

I was able to authenticate the user and I extracted the Auth code
using:-
 temp1 = EntityUtils.toString(response.getEntity());
if(response.getStatusLine().getStatusCode()==200)
                auth = temp1.substring(temp1.indexOf("Auth=")+5).trim
();

After this I tried inserting an event which did not work. I was
getting status code 200 in response and I am not sure even if I did
get a proper response, how can I extract the cookie s and gsessionid
for my next request.

I tried creating a calendar instead and I received the same status
code 200. I used the following code:-

   String messageBody="<entry xmlns=' http://www.w3.org/2005/Atom '"+
       " xmlns:gd=' http://schemas.google.com/g/2005 '"+
       " xmlns:gCal=' http://schemas.google.com/gCal/2005 '>"+
  " <title type='text'>ABC Project Schedule</title>"+
  " <summary type='text'>This calendar...</summary>"+
  " <gCal:timezone value='Singapore/Asia'></gCal:timezone>"+
  " <gCal:hidden value='false'></gCal:hidden>"+
  " <gCal:color value='#2952A3'></gCal:color>"+
  " <gd:where rel='' label='' valueString='Lab'></gd:where>"+
" </entry>";
 StringEntity entity =new StringEntity(messageBody);
            entity.setContentType("application/atom+xml");
            entity.setChunked(true);
            httppost.setEntity(entity);
            httppost.setHeader("Authorization", "GoogleLogin
auth="+auth);
            httppost.setHeader("GData-Version", "2");
            //httppost.setHeader("Content-Length",String.valueOf
(entity.getContentLength()));
            //httppost.setHeader("Content-Type", "application/atom
+xml");
            HttpResponse response = httpclient.execute(httppost);

As can be seen from the code, I commented Content-Length and Content-
Type as otherwise I would get a ClientProtocolException (content-
length was causing the exception, didn't put content-type since it is
already mentioned in the entity...not sure where it should be
defined).

I am sorry that I don't understand the basics correctly. I did refer
to the apache site for httpclient stuff but it wasn't of much help.
Please help me out with the above problems.  Thank you.



Other Threads

1. Adjusting Dialog Size Question (ie: ColorPal)

I just took a look at my app with a Droid - it works/looks super ...
except for my color dialog - which is tiny compared to my G1. I want
to update the ColorPal code to accommodate different screen
dimensions. One way to do this would be to access the DisplayMetrics
from the dialog ie:

 DisplayMetrics metrics = new DisplayMetrics();
 getWindowManager().getDefaultDisplay().getMetrics(metrics);

This does not seem to work from a dialog though - or I am missing
something.  Can someone point me in the right direction?

j

-- 

2. A request for people creating custom Android systems

As the PlatformLibrary shows, you place an xml file in
/system/etc/permissions which defines the library, and the system picks this
up.  For example Google's maps library is in the file
/system/etc/permissions/com.google.android.maps.xml with the contents:

<?xml version="1.0" encoding="utf-8"?>
<permissions>
    <library name="com.google.android.maps"
            file="/system/framework/com.google.android.maps.jar" />
</permissions>






> website: 

3. OpenGL ES works fine on Emulator but on HTC Hero 1.5 it does not render vertices

4. JSONObject text must begin with '{' at character 1

5. Archos/Android development

6. JSONObject text must begin with '{' at character 1

7. Orientation change of gsm re-initializes the application