Share spreedsheet created by service account - google-sheets-api

How can I share or change owner of a spreesheet, created via spreedsheet api authenticated by service account? Should I add and use Google Drive API for that?

Yes, I have to use Google Drive API, but I cannot transfer owner to myself, because service account is located in another domain.

Related

Can we use existing google calendar api in multiple domain?

Hope you are doing well..!!
I have a question , I have an existing website where already integrated google calendar api . Now I have another new website so my question here is , may I use existing website google calendar api in this new domain or not ?
or need to buy for new domain again ?
Thanks,
Anks
If you have a website that users Google calendar api. So you have created a project on Google cloud console. either with service account credentials or web credentials. That is considered to be a single application.
When you go and create a new website and which to also use an api you should create a new project on Google cloud console for this application. The main reason for this would be quota. If you use the same project on google cloud console then both websites would be sharing the quota.
I cant tell you if you need to buy a new domain name for your website i guess that would depend upon your needs. If by domain you mean google workspace domain. Assuming you are using service accounts to store the web app calendar data, i dont see any reason it couldn't be under the same workspace domain. Just make sure you create separate projects in google cloud console to avoid the quota issue i mentioned.

How to upload a file to foreign (someone else) Google Cloud Storage using API?

I have a simple and free Google user account like this: my.name#gmail.com.
Im working with SomeCompany with a billable Google account. This company exposed a bucket to which im supposed to upload someFile.txt. The bucket url looks like this: https://console.cloud.google.com/storage/browser/SomeCompany-multi-44444
or, alternatively gsutil:
gs://SomeCompany-multi-44444
I can access and use this bucket (after auth prompt) from my browser.
Question: Can i access this bucket using API (preferably using Python oauth2client or gcloud) without creating (billable) Service account of my own? How? I fail to understand how to create an API authentication to this bucket without creating a service account which requires credit card. Is there something that SomeCompany have to do in order for me to succeed?
Yes, it's possible and reasonable.
Service accounts and user accounts are all Google identities (as are Groups).
The difference is that service accounts use two-legged auth and have a simpler flow. But, a user account is a valid identity and yours has been authorized to use the bucket.
The difference is that you need to use three-legged auth and exchange your credentials for an access token that you may use to authenticate to the service.
Here's a link to the Python Cloud Client Library section on using 3-legged (User) auth.

Google drive API access

This is a general question regarding Google drive API system.
I need to create a web app that shows only files hosted in Google drive.
What I've found on the web is mainly regarding authorizing API access to client's account. I need to set only ONE account that is the origin of my files.
How you could suggest to move into this issue?
Thank you

How to programmatically create Google service account credentials?

I have a desktop application which I want to create a new service account for each user of my application.
Is there any API for creating the service account users on the fly?
Scenario: For each user, I want to give service account, and give this service account the data that this user needs.
The point is that I want to give every user some specific data from Google Cloud, but I want the user to get it directly from Google. I cannot use the user account, because I am not sure he have google account.
You can use the Google Identity and Access Management (IAM) API to programatically create service accounts.
However, creating a service account for each of your application's users is expensive and not scalable. Perhaps your service can have a single service account and then the service can control which of the resources that the user may access.
There is no Google Api that allows you to control projects on Google Developer console. The only thing that comes close is the Google Cloud Resource Manager API which is extremely limited in what it supports. You cant use it to create a service account.
Answer: The only way to create a new service account is to log in and do it though the Google Developers console.

Which Google API's can be accessed using the access-token obtained using Google Service Account

Referring to the document https://developers.google.com/accounts/docs/OAuth2ServiceAccount, was able to obtain an access-token.The above mentioned document doesn't provide any details regarding the API's that can be accessed using Service Account.Can anyone list the API's which can be accessed using access-token obtained from Google service account?
Unfortunately, we don't have an exhaustive list of the support in this area. In general, you should be able to access a Google API if that API does not require the user to do something in a web interface to configure their account before doing API access. Service Accounts can't log in. So if the service needs some interactive input from a user on a Google wesite, often their APIs will not work with Service Accounts. Hope this helps.