Reading google calendar events - ios

My client has created a calendar which is private. He provided ClientId, Secret, and Google Server API Key.
He says it is possible to read events using auth, but I can't find a way. I created my own public calendar and reading events and was successful, but when I made it private it was not working.
Can someone explain me how Google api works? I read the documentations but it's complicated.
My client does not wish to share calendar as public or give emailId password, and says it is possible to fetch events. I don't think it's possible but I am looking for an answer from experienced person.

Your client is correct. You need to read about service accounts at https://developers.google.com/accounts/docs/OAuth2ServiceAccount

Related

Linking Google Assistant with Firebase Auth

I am attempting to connect a Google Assistant app using DialogFlow(Api.AI) with Firebase Auth. My App uses Firebase Auth to maintain user accounts and the realtime database to store data. I would like to be able to make changes to a user's data through the Google Assistant, maybe using something like a cloud function. In order to make any user changes through Google Assistant, I need to link the user's Google Assistant account with their Firebase Auth account. The current mechanism appears to be using an OAuth flow documented here.
The question I have is, what is the best way to accomplish this? Do I need to set up a custom OAuth server? There is a lot of documentation on Google's cloud website about OAuth, but it all appears to be related to using OAuth to access Google's APIs, and I can't really see a simple way to host this linking mechanism in GCP.
There is this question that is pretty close, but the difference I have is that I don't have an external API, I just want to authenticate my user and be able to modify their data in the realtime database.
Thank you for your help!
here is an example: https://github.com/malikasinger1/Quiz-Assistant
i have done it myself with following best practices,
feel free to comment if you don't understand something.

How to list Google Calendar Events without User Authentication

On November 17, 2014 Google deprecated v1 and v2 of its Google Calendar API using the Zend Framework.
It seems the only way to list publicly shared events on a publicly shared Google Calendar is through the new Google Client Library API from GitHub using OAuth 2.0
This means visitors to a public website that used to display public events now have to authenticate and login.
Is that true? Is there no other way to continue to show public Google Calendar events?
What you need to do is use a Service account for this. You will then be able add the service accounts email address as a user to the calendar for your website. The Service account will then be able to access this calendar including the events
You can still retrieve all public data without Oauth2, you just need to register in a developer console and create an API key. Then you can do:
GET https://www.googleapis.com/calendar/v3/calendars/<CALENDAR_EMAIL>/events?key={YOUR_API_KEY}

How do I authenticate Google Calendar API v3 without user interaction?

I'm using Google and external calendar sync (console application). I've tried several ways to connect to my calendar in Delphi. In the latest version of the Google API, you can choose two options:
API Key (public calendar)
OAuth2.0 (private calendar)
The calendar is not public. I looked at a couple of examples, but everywhere the need for user interaction. I want to identify myself with no user interaction. How can I do that?
I don't know about using it in Delphi but there is a client API library for java, python... I've already used the java one and it's clearly explained how to use it in the documentation.
Google Calendar API 3 Doc page:
https://developers.google.com/google-apps/calendar/
However, the service asks you to be authentified to used it (which is your problem if I understand it well, you don't want the user to have to authenticate). So I suggest you to have a look on OAuth2.0. https://developers.google.com/google-apps/calendar/auth
Here are some simple of using google-api-java-client for exemple : https://code.google.com/p/google-api-java-client/wiki/OAuth2
And you should look more precisely at Google OAuth service account possibilities.
Service Account with OAuth2.0. (See here : https://developers.google.com/accounts/docs/OAuth2#serviceaccount).
It will provide a service account for your application, from which you will be able to handle calendars for your app.
And here you will find a sample showing how to do it with Java. (https://code.google.com/p/google-api-java-client/wiki/OAuth2#Service_Accounts). But maybe this is the public API Key you are talking about... Not sure I remember properly.
I hope this will help you to figure out how to do it.

Get list of users events from evenbrite using the api

I'm trying to build an application that will list events that a user has created on eventbrite using. So the application will have multiple users and for each user, i want to be able to get their event list from eventbrite.
Do i need each user's username and password to do that. What parameters do i need and does the eventbrite api support this.
Thanks
The answer really depends on whether these users have public or private event data.
For public events that have an associated "organizer profile" page, you can use the organizer_list_events API call without providing any additional authentication credentials.
The event_search method may also work well for finding upcoming public events by organizer.
If you want to access both public and private event data, or events that have ended, then you will need to supply some user authentication credentials. The user_list_events API call is probably your best choice in this case.
The most simple method of authenticating as an Eventbrite user involves providing a user_key in your API request. Each user should be able to find their user_key here: eventbrite.com/userkeyapi/
More info on user authentication is available on the Eventbrite developer site:
developer.eventbrite.com/doc/auth/#user_authentication
XML is definitely a supported API response output format.
We have recently launched support for OAuth2.0. This answer may contain some useful information on that subject:
Secure Way of storing Passwords to APIs without OpenID?

Programmatically change gmail status via OAuth or Authsub

I would like my application to programmatically update my user's gmail/google talk status on their behalf but I dont want to store their password because of the privacy risk
Does anyone know if/how it is possible to use Oauth or some other form of authentication that does not require password storage.
The Google data api docs I have seen support a range of services but dont seem to support Google Talk/Gmail beyond the Google Contacts api.
The Google Talk API seems to explicitly state that username and password are required but I could be mistaken
If it helps, my application is built on App Engine so I can at least use the built in user class to determine their username and email without storing their password but this doesnt seem to give me access to the user's status
Any tips or pointers to apps/code that seems to accomplish this would be helpful. Thanks!
This may not be what you are looking for but it might be a step in the right direction for you.
"the Google Contacts Data API now supports OAuth."
http://groups.google.com/group/oauth/browse_thread/thread/75ee6d973930c791
The post says that "This is our first step towards OAuth enabling all Google Data APIs." And it's quite old so maybe they'll have information about the Gmail API.
Hope it helps.

Resources