Hi,
I was able update the ACL of a secondary Calendar using JSON-C through
the OAuth playground:
http://googlecodesamples.com/oauth_playground/index.php
Make sure to get the Content-Type right:
Content-Type: application/json; charset=UTF-8
Here is the log of the request:
POST
/calendar/feeds/fukifuki.com_ebbfqq38l6r0g7dr9rtvbrtbe4%40group.calendar.google.com/acl/full?*snip*
HTTP/1.1
Host: www.google.com
Accept: */*
Authorization: OAuth oauth_version="1.0", oauth_nonce="*snip*",
oauth_timestamp="*snip*", oauth_consumer_key="googlecodesamples.com",
oauth_token="*snip*", oauth_signature_method="RSA-SHA1",
oauth_signature="*snip*"
Content-Type: application/json
GData-Version: 2.0
Content-Length: 66
{
"data": {
"scopeType": "default",
"role": "read"
}
}
HTTP/1.1 201 Created
Expires: Thu, 07 Jul 2011 09:46:17 GMT
Date: Thu, 07 Jul 2011 09:46:17 GMT
Set-Cookie: *snip*
Content-Type: application/json; charset=UTF-8
Access-Control-Allow-Origin: *
Cache-Control: private, max-age=0, must-revalidate, no-transform
Vary: Accept, X-GData-Authorization, GData-Version
GData-Version: 2.6
ETag: W/"C04DRng9fCp7JGA9WhdTEE4."
Location:
https://www.google.com/calendar/feeds/fukifuki.com_ebbfqq38l6r0g7dr9rtvbrtbe4%40group.calendar.google.com/acl/full/default
Content-Location:
https://www.google.com/calendar/feeds/fukifuki.com_ebbfqq38l6r0g7dr9rtvbrtbe4%40group.calendar.google.com/acl/full/default
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Server: GSE
Transfer-Encoding: chunked
{"apiVersion":"2.6","data":{"kind":"calendar#acl","etag":"W/\"C04DRng9fCp7JGA9WhdTEE4.\"","id":"http://www.google.com/calendar/feeds/fukifuki.com_ebbfqq38l6r0g7dr9rtvbrtbe4%40group.calendar.google.com/acl/default","selfLink":"https://www.google.com/calendar/feeds/fukifuki.com_ebbfqq38l6r0g7dr9rtvbrtbe4%40group.calendar.google.com/acl/full/default","canEdit":true,"role":"read","scopeType":"default"}}
Hope that helps.
On Wed, Jul 6, 2011 at 4:22 PM, Dale the Developer
<[email protected]> wrote:
> The request bodies I have tried are pretty much every permutation of
> the reference variables:
>
> { "data": { "scopeType": "default", "role": "read" } }
>
> { "data": { "scope": "default", "role": "read" } }
>
> { "data": { "scope": "default", "scopeType": "user", "role":
> "read" } }
>
> { "data": { "scope":
> "[email protected]", "scopeType":
> "user", "role": "read" } }
>
> That all cause the long 5 min march to a broken pipe, 50x, or 302 to
> unavailable. I have also tried a few blatantly broken ones that
> correctly throw a "Error 400 (Bad Request)!!1" for malformed request.
>
> I have not tried ATOM yet because so far all other requests I've
> attempted = in JSON-C has worked. I'm pretty sure this is a bug.
> Cross posting to issue tracker:
> http://code.google.com/a/google.com/p/apps-api-issues/issues/detail?id=2653
>
> On Jul 5, 8:05 pm, David Bullock <[email protected]> wrote:
>> I know that feed supports JSON-C, but do you get better results with ATOM?
>>
>> If not, you could hold the blog author to account :-)
>>
>> If so, maybe including "scope": "" ? might work-around a parsing bug? (I
>> don't know if you tried that already - you didn't specify which scope and
>> scopeType arrangements you tried) I am not familiar with JSON-C or how it
>> is parsed and handled on the service end - it's just a guess.
>>
>> It does seem odd though, that you get a 302 or broken pipe after a timeout,
>> and not a 50x or 400 response. It is difficult to fault the request itself.
>>
>> cheers,
>> David.
>>
>> On Wed, Jul 6, 2011 at 8:48 AM, Dale the Developer
>> <[email protected]>wrote:
>>
>>
>>
>>
>>
>>
>>
>> > I have a newly created secondary calendar that I am attempting to
>> > update the ACLs to make it a Public Calendar. Similar to the
>> > following link, except using JSON-C and Google API Version 2.0:
>>
>> >http://gdatatips.blogspot.com/2009/12/making-calendar-public-via-acl-...
>>
>> > Working from JSON-C Examples here:
>>
>> >http://code.google.com/apis/calendar/data/2.0/developers_guide_protoc...
>>
>> > The POST is being sent to the accessControlListLink URI returned when
>> > querying a calendar feed as an owner.
>>
>> > Example in CURL (AuthSub has already been used to obtain a Session
>> > Token in the Authorization header):
>> > $ echo '{ "data": { "scopeType": "default", "role": "read" } }' | curl
>> > -v --sessionid --request POST -L -H "GData-Version: 2.0" -H "Content-
>> > Type: application/json; charset=UTF-8" -H "Authorization: AuthSub
>> > token=\"XXXXXXXXXXXXXXXXXXXXXXX\"" -H "Content-Length: 55" --data-
>> > ascii - "https://www.google.com/calendar/feeds/xxxxxxxxxxxxxxxxxxxxxx
>> > %40group.calendar.google.com/acl/full?alt=jsonc"
>>
>> > My return varies from "Empty reply from server" to a HTTP 302 redirect
>> > sending me to an unavailable page ("Location:
>> >http://www.google.com/googlecalendar/unavailable.html"). In any of
>> > these scenarios it takes a full 5 minutes to return the request.
>>
>> > Using PUT instead of POST as suggested in the Documentation returns a
>> > "HTTP/1.1 405 Method Not Allowed".
>>
>> > Per the GAcl:scope documentation, only scopeType:default should be
>> > necessary.
>> >http://code.google.com/apis/calendar/data/2.0/reference.html#gacl_ref...
>> > However it doesn't work with any arrangement of scope and scopeType.
>>
>> > Any thoughts on why this call would be not be working as specified in
>> > the documentation?
>>
>> > --
>> > You received this message because you are subscribed to the Google
>> > Groups "Google Calendar Data API" group.
>> > To post to this group, send email to
>> > [email protected]
>> > To unsubscribe from this group, send email to
>> > [email protected]
>> > For more options, visit this group at
>> >http://code.google.com/apis/calendar/community/forum.html
>
> --
> You received this message because you are subscribed to the Google
> Groups "Google Calendar Data API" group.
> To post to this group, send email to
> [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://code.google.com/apis/calendar/community/forum.html
>
--
Johan Euphrosine (proppy)
Developer Programs Engineer
Google Developer Relations
--
You received this message because you are subscribed to the Google
Groups "Google Calendar Data API" group.
To post to this group, send email to
[email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://code.google.com/apis/calendar/community/forum.html