Manage Google Assistant Actions programmatically - oauth

I'm trying to integrate my online Google Actions builder with Actions Console.
Now users have to manually create Actions JSON descriptor file and upload it to the project via gactions tool. But I would to let them upload their actions without these steps. As an example I saw that Gupshup service does this already - user has to authorise Gupshup once he would to upload his project, and all things perform behind the scene by Gupshup.
As I know I have to use some sort of Google API that allows to manage projects in Google Console with some specific OAuth scope - something like "Allow this service to manage Google Assistant dialogues and grammars".
Are there anybody who knows anything about such OAuth scopes and API?

You may be able to do something with the gactions tool, although there is no fully public API to manage Assistant console projects.

Related

Grant Third Party Application Access to Google Drive API and Admin SDK API of another Organization's Google Workspace

We are working on a Migration App for Google Drive (Google Workspace) and are relatively new to Google APIs. I read that administrator need to grant domain-wide delegation of authority to third-party and internal applications so that they can access users' data such as read Google Drive files.
Control API access with domain-wide delegation: https://support.google.com/a/answer/162106
For delegating domain-wide authority to service account, a super administrator of the Google Workspace domain must complete 6 steps as described in the documentation link below:
Delegating domain-wide authority to the service account: https://developers.google.com/identity/protocols/oauth2/service-account#delegatingauthority
As I understand these 6 steps have to be manually performed by Super Admin of the Google Workspace. I would like the super administrator should be able to do these steps easily and quickly. Can this process be automated or guided using some sort of Consent Grant screen in Web Portal.
Instead of using service accounts, can we use OAuth 2.0 Client ID (created within third party app's Google workspace) and consent of Administrator to provide delegated access of their Google Workspace to third party application.
I am asking this because I would need to get list of all users in that Google workspace and have read access to their google Drive files.
Directory API: Authorize Requests" using Admin SDK: https://developers.google.com/admin-sdk/directory/v1/guides/authorizing
Scope for only retrieving users or user aliases: https://www.googleapis.com/auth/admin.directory.user.readonly
Thanks!
I am afraid it is not possible at this moment to manage the domain wide delegation settings through APIs or any different way to automate the process. The Google Workspace Directory API is the only possible way you can use to manage Admin console related settings using the Google APIs, however there is no API method that can make changes like this.
Now, about this:
Instead of using service accounts, can we use OAuth 2.0 Client ID (created within third party app's Google workspace) and consent of Administrator to provide delegated access of their Google Workspace to third party application.
The only possible way is by adding the application to the domain wide delegation settings, but again, only the admin can add the app manually to their Google Workspace admin console.
Since this is a feature that is not available yet, you could submit a feature request in the Directory API to suggest this as an actual feature and maybe Google can make it available in the near future.
Reference:
Admin SDK: Directory API
Feature request

How do I implement Google sign-in on iOS app?

I've been tasked with adding a "Sign In with Google" button to an iOS app. For background, I'm a contract developer doing work for a customer, and I do not own the app in question.
I did a quick search for how to do this, but the only answer I could find involved "set up a project in the Google API console" followed by "add a GIDSignInButton to your layout".
I do not have access to the app owner's Google Developer account (or know if they even have one), and I certainly do not want to "set up a project" in my own Google account that is associated with a customer's app.
Furthermore, the iOS project I'm working with does not currently have any third-party library integrations (no Swift packages, no CocoaPods, no workspace file) and I strongly prefer to keep it this way.
Is it possible to do Google authentication using a standard OAuth process (i.e. open a web page, and handle the redirect after authentication completes)? I have done other OAuth integrations this way so I know how it works.
Thanks,
Frank
Yes, you can sign-in using OAuth without using an SDK. Here are the instructions.
You will be required to setup a project and configure it's OAuth settings. This manages how your app will appear to users and implements OAuth security controls. No way around this, so you'll want to work with your Google Cloud administrator to gain access to an existing project or create a new one.

How to make cloud REST API call in Jira atlas connect app

I'm new to jira development.
I created an app in atlas connect cloud app. I want to use REST api calls in this app to access jira core features.
When user installed my app I want to get his projects and other details using rest calls.
How can I authenticate user and use rest api calls.
Thx.
Depending on the setup of your JIRA instance, you can use the following ways to authenticate users:
OAuth
Basic authentication
Cookie-based authentication
For getting a list of projects and other details, you can use this resource to find out what is possible.
An introduction to the JIRA API can be found here.

How can I add a configuration page for my slack app?

How can I add a configuration page for my slack app?
example: asana has an add configuration button which leads to a page which we can use to then connect the slack user account with asana account
Several Slack apps (e.g. Twitter, Google Calendar) provide a configuration page after installation into Slack. However this feature seams to be available only to commercial partners of Slack, but not as a standard feature for every app developers.
Developers need to implement it by themselves with an external app / script that is linked the Slack app and store the configurations in their own database.
See also this answer for a full explanation on how this works.
Looking on the official Slack Plattform Roadmap for Developers this feature might be implemented in the future under "Install apps from within Slack".
Update:
You can now use Dialogs to create something similar to configuration pages. It allows you to open a custom modal window with up to 5 inputs (text or drop-downs). Its still not the same as having a full configuration page like the internal Slack apps have, but its a huge step forward and might be sufficient for many cases.

How to implement "Use one-click single sign-on" correctly in order to publish to Google Apps Marketplace

We already have a web app that integrate with differente Google services. Right now, you can loguin using a Google account, can import a contact lists from any Google account, and can sync a Google Calendar with our Calendar in the webapp (We implemented all of this using OAuth 2 and invoking the GoogleApi with a REST Client).
We are now trying to publish this app in the GoogleApp Marketplace, but we are failing to comply with the "Use one-click single sign-on" rule (https://developers.google.com/apps-marketplace/practices#5_use_one-click_single_sign-on).
We are believing that the problem is we the way we are solving the fact that we need offline access for all the integrated users in the app. Right now, the only way we found to get the refresh tokens for them, was starting the OAuth2 process with the parameters access_type=offline&approval_prompt=force, but this forces them to enter their credentials.
We aren't using the 'Google+ Domains API', and we are starting to believe that we should. Is the use of this API mandatory for complying with the "Use one-click single sign-on" rule?
Thanks,
Well, we finally figured it out. We had to use the Google Admin SDK in order to implement SSO. We had some troubles with the scopes, but after we polished that, everything seems to be working OK.

Resources