There's a method posted here which purportedly enables an app to get an event (copied below for convenience). The event, the link claims will be returned with its resources.
event = service.events().get(calendarId='primary', eventId='eventId').execute()
print event['summary']
What should I provide in place of the string eventId? I created fake events on my calendar (e.g. FakeEvent1 and FakeEvent2) but using FakeEvent2 as a string results in the error event not found.
I know for sure that I am successfully communicating with the Calendar API, because when I use the list method, it returns a list which indeed contains FakeEvent2. The problem is, the name of the event cannot be used as the string 'eventId'. I even tried replacing the name of the event with different properties returned during the list call, like event description and event etag, but to no avail.
You can get that from the list method, as demonstrated on the documentation page you link to for that method. At the bottom of that page, there is an API explorer: click "Authorise requests" and accept the popup, then put in "primary" in the calendarId field and click execute. You'll see a list of events in your calendar, each of which has an "id" field: you can use that ID in your get method.
When you insert an event through the API, the Events resource returned by the API contains an id parameter, generated by the API servers.
If you created the event manually, then the eventId is harder to find. You can use the list()method with the ?q parameter to search for the event.
I am not a Python developer, but based on these Python examples, I would expect something like this :
service.events().list(calendarId='primary', q='FakeEvent1')
I would like to add that providing "id" gives you the eventId.
i.e.:
print event['id']
I had issues going through a list of events, deleting those within my time search. In the google API overview for list the property name "id" is not included. However calling the list method in the explorer (as suggested by accepted answer) shows the property name listed.
Related
I am trying to programmatically create icalendar events by creating an ICS file and sending them via email to the attendees. I want to be able to create a recurring event, which works fine.
Now I also want to be able to update these events. If I try to update a single occurrence from the whole event series using UID, RECURRENCE-ID and SEQUENCE, it again gets updated fine.
But I am unable to figure a way out to update this and future events. I tried using VALUE=THISANDFUTURE with RECURRENCE-ID but only the event pointed to by RECURRENCE-ID gets updated. I also do not want to go the "delete the series and create two new ones" way because to do that I'd have to send cancellation emails to the ATTENDEES first and then new events' invites.
I came across the property RELATED-TO which might be relevant here but am unable to understand what it does and how to use it to get the result that I want. Can anyone provide me some direction?
Usage according to the RFC5545 specification ( https://datatracker.ietf.org/doc/html/rfc5545#section-3.2.13) is with RANGE, not VALUE
RECURRENCE-ID;RANGE=THISANDFUTURE:19980401T133000Z
Using React and Redux...
I have an endpoint that returns the following model:
Name (String), and
Colors (Array)
And another endpoint that lists all the color options the user can choose from.
Now I want to make a multi-select that lists all the color options, which the appropriate ones selected based on what the first endpoint returns.
My questions are around how to best handle this.
1) Should I just instead create one endpoint that returns the model along with all the color options already included?
2) Or should I call both endpoints from one action creator, wait for both responses somewhere, then merge the data added a 'selected' property to those that should be selected?
3) Or something else?
Any help in how to design this would be much appreciated. Or a link to an example..I've searched and surprisingly can't find one.
I need to track changes in any property of any user but it is not working for all properties. Here is what I'm doing:
I query the list of users using that request:
https://graph.microsoft.com/v1.0/users/delta
I follow the link in #odata.nextLink then save the link in #odata.deltaLink.
I update the displayName property of a user in Office portal.
I follow the previously saved link. I can see the updated value of displayName among other basic properties of that user.
The problem is that if I do the same with the department property, the user is returned but the new department value is not included in the json.
In the documentation(https://developer.microsoft.com/en-us/graph/docs/concepts/delta_query_overview), it is said:
Updated instances are represented by their id with at least the
properties that have been updated, but additional properties may be
included.
which is not the case here.
I have also tested the jobTitle property which is not working at all, meaning that if I change its value, the delta link does not show any change at all. I suppose it is the same for many other properties..
Is there something I'm doing wrong?
I am able also to reproduce this issue. And event I specify select to display the department property, it still doesn't show in the changing result.
Based on the test, it seems that this property doesn't including in the track changes. If you have any idea or feedback about this REST, you can submit it from this link.
I am learning on how to access google calendar API for creating and accessing events. I am trying to understand API using OAuth 2.0 Playground. I am struggling on what to set for calendarid and eventid
https://www.googleapis.com/calendar/v3/calendars/{calendarId}/events/{eventId}
Can any one guide me.
Regards,
Sureshkumar Menon
calendarId is the email address of your calendar. If you're just using your own, then use the string "primary".
eventId is the ID of the event that you want to modify. If you don't have an event, you should either create one with the 'insert' call, which will include an eventId parameter that you can store and use to modify it later, or use the 'list' call to get a list of events.
I was facing similar issue and got solution to find the calendar event id:
->Go to the event debugging URL at https://www.google.com/calendar/render?gsessionid=OK&eventdeb=1.
->Double click to view the affected event.
->Select the drop down menu 'More Actions'.
->Click on the 'Troubleshooting Info'.
->Copy the text that appears and paste it in your reply to support.
You can refer the below link which gives details with screen shot
http://googleappstroubleshootinghelp.blogspot.in/2012/09/how-to-find-troubleshooting-information.html
However i am still looking for a solution to get event ids dynamically.
i just discover that the list request which retrieves all the event list contains the correct event id. In my web app, i am using fullcalendar, each time i click a event for updated or deleting, the eventclicked method gives a false event id. so, i guess we will have to give a true event id and false event id map stored in our local app. this can be a work around. but it's liking eating a fly.
When a user 'Saves' a Contact (for example), whether it's new or just updated, I need to:
Do an external callout using one of the Contact field values as a lookup
Display the results of the callout, so the user can make a selection
Update the Contact based on the user's selection display the updated Contact
I have found two aproaches, but have reached a point in both that I need to resolve.
Trigger Based Method
In the 'after' trigger pass the lookup string to a callback.
Update the Contact with the selection
Issues
How do you pass the lookup string or results to a visualforce page to display the lookup results?
When the user makes the selection and the update has been done, how do I move back to the updated contact?
Override Base Method
I found a discussion here that seems to suggests using overriding & redirection to someone asking about 'Edit'. I think this could also be done with the 'Save' button.
Issue
This is meant to be a deployable sollution, so I think that the override has to be set in code (I'm using the IDE) and not via Setup (or am I wrong?). I can't find out if this is possible or how to do it
Sorry for detailed question. Didn't want to just ask the wrong question (i.e. assume I know the best approach).
Thanks...
For the trigger-based method, you cannot change the built-in Save functionality, but (per your second solution) you can override the Edit button and recreate the Edit page with Visualforce, which would give you full control over the Save button and how you handle the callout and redirecting.
The release notes for Spring '10 indicate that standard-button overrides are now available for packaging, as they can be created through the Metadata API.