Been using google calendar api for a year now without the need to verify the app. Just this week it just appears to be needed verification because it is using sensitive scopes
Related
I want to create a SaaS, for this I need my customers' Google Analytics data. Can I do this? Is something like this possible? I found the Management API, but I don't know if I can do it, I don't even understand it. Thanks
In order to request Google analytics data you need to use serval different apis. But the first thing you need to understand is that there are two versions of google analytics these days Universal analytics and Ga4. They are not interchangeable.
Universal analytics
The management api will give you access to see what universal analytics google analytics accounts that the user has access to. This is just the accounts and users. It is not the data itself within a universal analytics account.
To see the data within a universal analytics account you need to use the Google analytics reporting api. This api will allow you to extract universal analytics data on behalf of your users.
Ga4
As for the GA4 accounts. you would need to use the Google analytics admin api to access account information. The Google analytics data api will give you access to the data within a GA4 account.
Note: at the time of writing both of the GA4 apis are still in Beta.
authorization.
All of these systems will require that you have the consent of a user on the account in order to access their data. So you will need to implement Oauth2 authentication and request access with the appropriate google analytics scope.
Management API is irrelevant. If you need the data, you need the Reporting API. It's here: https://developers.google.com/analytics/devguides/reporting/core/v4
It requires OAuth 2.0 authentication. Here's more on it: https://developers.google.com/identity/protocols/oauth2
Is it possible to make a platform where client can sign up and log in using their Google accounts, and accept that their Google Analytics data will be used for calculations.
They should accept the use only once, and then the program should download and process the Google Analytics data every day.
Please point me in the correct direction for documentation
Yes, you need to create a project in Google Cloud Platform, then go to : API and Services > Library > Google Analytics API. (This is to get analytics from an user). Then you need to create a project inside Firebase, allowing email authentication and you will be able to do your task.
I'm extending a PHP application that allows managers to create events and assign specific users to those events. Before the user is listed as available to be assigned, however, I run a check against the user's calendar to see if they are available.
I've already built this once for Exchange using EWS and making use of FindItem method to retrieve events in a given timeframe for a user's email address, but I'm having trouble finding an equivalent in the Google Calendar API.
Both Events and FreeBusy Calls seem to require the specific user's calendarId, which is fine for retrieving the active authenticated manager's Calendar information, but not for their users, of which only the email address is currently available to my system.
Is there a way to retrieve events or a calendarId for a user based on a valid Google email address? (Or is there a better way to get other user's FreeBusy status that I've completely overlooked in my research?)
The Calendar API is a REST API that can be accessed through explicit HTTP calls or via the Google Client Libraries. However, please note that all requests to the Google Calendar API must be authorized by an authenticated user.
User's calendar list can be obtained through HTTP request:
GET https://www.googleapis.com/calendar/v3/users/me/calendarList/calendarId
Code examples for supported programming languages can be found in CalendarList: get.
My scenario is the following: We currently own an online rental marketplace that uses peer to peer bookings just like Airbnb. This means each user has a calendar for their property.We have a Vaway calendar for the bookings on our site however are wanting to integrate google calendar so we can be able to 2 way sync/asynchronous all the Ical calendars to each other from our partner sites who support it.
After much research I have tested my personal google calendar to see how the iCal works and it seems to work perfectly so we decided this architecture would need to be implemented on a much larger scale. This would be used in all new users signups to give our users an all in one calendar that syncs all our Partner sites into one completely synced google calendar for their listing. This basically allows a user who has their listing on 7 different platforms to sync to one calendar showing availability for them to keep track of inside Vaway account.
The google calendar would be completely separate from our Vaway calendar specifically to allow our users to sync all their property bookings from other sites into one integrated calendar.. The problem when reading about google calendar API is it requires OAuth 2.0 which is required user sign in from their existing google account (Calendar, Gmail...etc). Many of our users and new signups will not have google accounts and we do not want them to have to go through a google signup process to log into their calendar. Is there any way around OAuth 2.0? We really just need the functionality of the google calendar and its syncing capabilities inside our dashboard to give read write permission and sync back and forth 2 way with other calendars on other platforms.
With all of the features the google calendar has it seems to be perfect for what we are doing when testing. Each user that signs up with us will have google calendar in their Vaway dashboard provided by vaway however they will manage their own google calendar inside the Vaway platform for their property bookings. All calendars events/bookings would be public to allow the Ical syncing option to push through.
We do not want the users accessing this calendar outside of the platform because the pulls them away from the site. I'm not sure what solution would best suit this business model and am totally at my wits end here after researching. We are trying to keep our overhead low so google apps marketplace is not an option.
You really should reformulate your question, because it's really hard to read and understand right now.
But if I really get your question, you want to enable managing google calendar from a personal application without the end user having to log to any google personal account.
If this is clearly what you want to do, I suggest you to have a look to 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)
How to generate Google Analytics tracking code programmatic-ally?
I am new to Google Analytics API, can someone please help
It is NOT possible to create new Google Analytics accounts or profiles programmatically using the existing APIs.
There are two APIs available, the Data Export API and the Management API. However, they are bot read-only.
With the Google Analytics Data Export API, you can develop client applications to request data from an existing Analytics profile for an authorized user, and refine the results of the request using query parameters. Currently, the Data Export API supports read-only access to your Google Analytics data.
Currently, the Management API supports read-only access to five components of the Google Analytics Management system: Account data,Profile data, Web property data, Goal data, Advanced segments
Seems like it's finally possible in 2021 with alpha api.
https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties/create#authorization-scopes
It's not currently possible to create Google Analytics accounts automatically at the moment but generating the tracking code is possible.
The only real variation between the tracking code generated each time you create a profile for a new domain is the web property ID. This is in the format UA-XXXXXXX-X. Each X is a number - the first 7 numbers are the account number and the number after the last dash relates to each web property set up for the account.
You can use the accounts feed of the API to get a list of accounts and their profiles. If an account only has one profile then it's possible to use the web property ID of it to automatically generate the tracking code. However, if there's multiple web properties then you would need a way to decide which one to use (present the user with a selection list etc).