API to Purchase Domains For G-Suite, Programatically - google-app-engine

I am not able to find any G-Suite SDK or G-Suite REST API that I can call to purchase Domains for G-Suite linked sites.
I want to be able to create G-Suite-linked public domains programmatically.
While G-Suite allows purchasing domains through UI and while GoDaddy has listed REST APIs to purchase domains here: https://developer.godaddy.com/doc/endpoint/domains I am not able to find an API published by G-Suite.
Clarifying: This is not about creating a G-suite site but a public domain.

hen you buy a domain from G Suite, this means the G Suite sign up flow for customers that don't have a domain yet at the time of the registration, the domain is purchased from any of the three different partners, GoDaddy(GoDaddy API is involved), Enom(Enom API is involved) and Google Domain(the purchase may use back end directly there is no information if an API is used). This is because G Suite is not Domain registrar you can't buy domains from them directly they just don't offer that service thus there is not G Suite API for this.
Google Domains, on the other hand, is Domain registrar and host service, dedicated to the domain business, There is an API for Google Domains that you can use to so customers can buy a domain without leaving your web site, however, not necessarily the API will fit the needs that you may have, however, is the only API available at the time, see https://developers.google.com/domains/widget/.

Related

SSL on appengine

I read this page: https://cloud.google.com/appengine/docs/ssl
What I'm wondering: When you create a Google Apps for Work account to get a certificate, does the same user need to 'own' the Google Cloud Platform account where the appengine is running?
And who should be the 'owner' of Cloud DNS?
In many cases, the programmer is not part of the company, so he doesn't have a google apps user account. Or is sharing access of the Cloud Platform enough to get SSL.
Regards, Peter
Note: GAE SSL on custom domains is about to break free of Google Apps, which may significantly change the context for your question and answer(s). See https://support.google.com/a/answer/2644334:
Currently the Google Apps SSL configs only map certificates to the custom domain URLs, regardless of those URLs being served by GAE apps or not, so app ownership identity shouldn't matter. But this needs to be done by a Google Apps Admin.
For now Google Apps Admins can still map custom domain URLs to GAE apps (unclear if they need to own the apps, the above note suggest they might not need to) - which will change after the migration to the Developer Console.
Both the Google Apps Admin or the GAE app owner can perform the app mapping to a custom domain URL (via the Apps Admin console or the Developer Console, respectively) provided they pass the domain ownership verification (the actual Cloud DNS owner doesn't matter technically).
The page you read links to a more detailed documentation for Google Apps, where you can find this :
To add your application to the Google Apps account, the account
administrator’s sign-in account (email address) should be an owner of
the app. This is set in the Google Cloud Platform documentation under
Permissions.
So the admin user who enables SSL on Google Apps must also be an owner of the Google Cloud Platform project.
Who owns the DNS settings (be it Google Cloud DNS or any other DNS service) is independent : it doesn't have to be the same person.

Trying to understand if I need to give domain-wide authority to my appengine service account so that it can access data on Google Drive

I have an appengine app that stores documents in a Google Docs account. It uses the Documents List API to communicate with Google Docs but I am now trying to migrate it to use the Drive API as the Documents List API is supposed to be shutdown on 4/20.
I would like to know if I need to grant any special permissions for my appengine app to be able to access the Drive account and read/write documents from it. i.e., do I need to add a row on this screen?
The Google Docs account under which files are stored by my current app is of the form user#xyz.com where xyz.com is a domain name that I purchased through Google and that is aliased to my appengine app. Further user#xyz.com is an owner of my appengine app.
Yes.
Delegate domain-wide authority to your service account
In the Client name field enter the service account's Client ID.
In the One or More API Scopes field enter the list of scopes that your application should be granted access to (see image below). For example if you need domain-wide access to the Google Drive API and the Google Calendar API enter: https://www.googleapis.com/auth/drive, https://www.googleapis.com/auth/calendar
Click the Authorize button.
Your service account now has domain-wide access to the Google Drive API for all the users of your domain, and potentially the other APIs you’ve listed such as the Calendar API in the example above. You are ready to instantiate an authorized Drive service Object on behalf of your Google Apps domain's users.
When you make the calls, you will have to impersonate the user whose account you want to access, i.e. user#xyz.com

Host GAE app on a domain without purchasing a Google Apps account for that domain?

I have purchased my own domain name, and I have created an App Engine app. I'd like to configure GAE so that the app can be served off the domain name that I own.
It appears as though I must create a Google Apps account for that domain in order to host the GAE app on that domain. This costs $50 per year, which I'd rather not pay.
Is there any free way to host a GAE app on my domain name?
Using a Custom Domain
When you create an application with Google App Engine, the app is
automatically served on the appspot.com domain at
your-app-ID.appspot.com. However, it's often desirable to serve your
app at a custom domain that you own (example.com), at specific
subdomains of that domain (app.example.com), or at any or all
(*.example.com) subdomains of that domain.
It's easy to do this with App Engine. First, of course, you must
acquire a domain through a domain registrar. Once you have a domain,
customizing your app to use your domain or subdomain involves three
steps:
Prove to Google that you control the domain.
Configure Google servers to recognize the domain.
Update the DNS records at your domain registrar to point to Google servers.
The entire process can typically be completed in a few minutes at your
computer.
https://developers.google.com/appengine/docs/domain
It's not possible, you need a Google Apps account. But I think it's possible to create a free account with just one user (admin).

Domain registered with Google App for Business point to other ip?

I have registered a domain when I was registering Google App for business.
I'm just wondering if I could let that domain point to my server instead of Google site?
If not, how can I release the domain and register it(the same name) from some other domain name provider?
You can associate your purchased domain with your App Engine application. Go to the Admin Console and then Application Settings. You will see a Domain Setup section. Click on Add Domain and follow the steps. For further details, check out the instructions.
Yes, you can manage your DNS records even if you bought the domain as part of the Google Apps sign up. In case you don't want to host your website on Google App Engine or Google Sites you can access the DNS credentials for your assigned provider (Enom, GoDaddy) at Domains -> Advanced DNS Settings from there you should login to your provider console in order to change the settings.
https://support.google.com/a/answer/54693?hl=en
If you want to transfer to another provider, follow the standard procedure that each provider has, it usually requires so email confirmation back and forth. Also, make sure not to renew your domain automatically in the Google Apps admin console, otherwise you may be billed twice for the domain.
Now that Google is offering DNS-as-a-service in the Cloud Platform I wonder when they will end the partner DNS hosting and manage it themselves from end to end.

How to authorize Google app on an API Project in a specific domain

I am trying to take a GAE app and have it upload logging data, in CSV format, into Google Storage, and then into Big Query (via an upload job). The documentation says that the proper way to authorize a GAE app to have write permission in an API project is to add the GAE application as a team member in the API project.
However, there is a domain restriction in the API Team panel, that makes it impossible for us to add the '#appspot.gserviceaccount.com' address that the documentation says we need to. I talked with our IT department (who setup the API Project to being with) and they aren't sure how to circumvent that restriction.
I must be missing something, but how should we authorize our GAE App to push data into our API Project when we cannot add the account in this manner?
Thanks.
Create a Google group on your domain.
Add that group email address to the team editors in your Google Developers project.
Then add the Google App Engine application email address to that Group.
You might have to wait a short time before the permissions kick in.

Resources