Logic Apps Video Indexer Connector - azure-logic-apps

I have been working on creating a logic app for indexing videos.
I followed the documentation, creating a blob storage, the 2 flows etc..
When I run the flow, I get an error at the Get Video Indexer Token connector.
I have tried creating the api through Azure Media Service, and also the Video Indexer Api site itself.
I also tried to search google for solutions/examples/matching problems, without luck.
The documentation: https://learn.microsoft.com/en-us/azure/media-services/video-indexer/logic-apps-connector-tutorial
Video Indexer Access Token Error

According to some test, when we sign in the Video Indexer page with AAD account, we can find a "Trial" beside the account name.
So please change the location to "trial" but not "northeurope" in your logic app.
After that, we can get the access token successfully.

Related

How to Create Individual YouTube API Keys for Users in a React Website

I have a website that uses the YouTube API, and I am looking for a solution to generate unique API keys for each individual user upon login, so as to prevent multiple users from utilizing a single key. Is there a feasible way to achieve this, or is there a more effective approach to consider?
I am not sure how to approach this issue as I do not have enough information or context about the problem.
Creating additional api keys is not the solution to your issue.
Each application you create should have two projects on google cloud console.
Development
Production
You should then create a single api key used by your application, and Oauth2 client credentials if you need them.
If you run out of quota you should simply fill out the YouTube API Services - Audit and Quota Extension Form and request additional quota.

Upload videos from ReactJS directly to Azure MediaService

I would like to upload videos directly from ReactJS component to Azure media service without middle server.
I investigated and found this article and this #azure/arm-mediaservices SDK. and it seems that secret tokens are involved and I assume it's not a good idea to use in on the client side.
Can someone share thoughts and examples how to simple upload a video directly from client side (ReactJS Component) to azure media service with a temporary token ?
I found a way to upload Images to Blob in the way i want to, but I didn't find a way to do the same for videos to media services (without middle server side operations).
You are correct that we do not recommend ever storing your account secrets on the client side. You will still want a mid tier for that. One simple way to do that securely is with Azure Functions.
All you need to do is creat the Asset and then get a SAS Url to the container to upload content into it. Once you have those that there should be some samples out there if uploading to a SAS Url in Azure storage.

Issue authorizing access with google analytics super proxy

I'm setting up google analytics super proxy to create some public queries on my google analytics data. I have followed the instructions given in the below link to setup a analytics super proxy in app engine:
https://developers.google.com/analytics/solutions/google-analytics-super-proxy
I have followed the steps specified, enabling access for analytics api and creating a client ID for the super proxy web application deployed in app engine. I updated the required properties in the app.yaml and config.py files in the super proxy and deployed it to app engine.
I'm able to open the admin page of the deployed super proxy, but when I try to authorize access, I get the an error saying 'invalid_client' (although the client id seems to match with the one I created in developer console):
I'm unable to figure out what has gone wrong, or if I've missed something? Can you please help?
Regards,
Anand
Go to the Dev Console -> Your Project -> APIs & auth -> Consent screen. Make sure all the non optional fields are filed in (specifically in your case PRODUCT NAME).

An API for creating and managing Google Cloud Console projects?

I believe there is an undocumented Google API available to create and manage Google Cloud Console (and App Engine) projects on behalf of third party users.
Does anyone know how to use it?
I think older versions of the Google Eclipse Plugin obtained an OAuth2 token in the (undocumented) scope https://www.googleapis.com/auth/appengine.admin, and this allowed it to generate a Cloud Console project on your behalf. The latest version doesn't seem to do this. App Engine's own appcfg.py also uses this scope, but doesn't seem to do much more than deploy the code - I'm looking to change core settings for the project, such as Name, Redirect URLs, and Web Origins.
Any information would be appreciated.
I maintain a WordPress plugin providing secure Google Apps Login for end users, and currently have to give detailed instructions to admins for creating a new Cloud Console project manually, and entering settings such as Redirect URL. Ideally, I would create a simple on-line service to do all of this for them.
Thank you!
It is possible to programmatically create a new Developer Console project on behalf of a Google Account (yes, you read that right). You do so in a very roundabout way:
Request the https://www.googleapis.com/auth/drive.scripts scope from the user (standard OAuth 2.0 flow).
Use the Drive API's drive.insert method to create a new file with a mimetype of application/vnd.google-apps.script.
Somehow try to get the project ID, maybe by uploading some Apps Script code? This is the part that I was never able to figure out.
A little known fact is that every Google Apps Script project has a hidden Developer Console project associated with it. This project is not shown in the list of projects, but it does exist. It is created automatically when the user starts a new Apps Script project, and the drive.insert method is enough to cause this to happen.
How do you get to the hidden project? Well, the only way I know of is to open the Apps Script project from the Drive website, open the "Resources > Advanced Google Services" dialog, and click the link to the Developer Console. You'll find the project ID in the URL.
Aside from not being shown in your list of projects and not being able to use App Engine, this is a normal Developer Console project. You can add additional OAuth client credentials, service accounts, Compute Engine instances, etc. And of course once you have a project ID, all of the various management APIs will work: creating new virtual machines, making use of a service account's impersonation ability, etc.

Access not configured error message

I've set up oauth and am properly retrieving an access token.
Here is the response I get from hitting
https://www.google.com/accounts/AuthSubTokenInfo?access_token=<token>
parsed_response="Target=645428735890.apps.googleusercontent.com\nSecure=false\nScope=https://www.googleapis.com/auth/userinfo.profile\nScope2=https://www.googleapis.com/auth/userinfo.email\nScope3=https://www.googleapis.com/auth/glass.timeline\nScope4=https://www.googleapis.com/auth/glass.location\n"
which I believe properly shows that I have requested the correct permissions.
A call to
https://www.googleapis.com/mirror/v1/timeline?access_token=<token>
yields:
"errors"=>[{"domain"=>"usageLimits", "reason"=>"accessNotConfigured", "message"=>"Access Not Configured"}]
Having trouble figuring out what this means. I don't have an actual piece of glass hardware. The docs make it seem like this access token would allow me to make any requests to the mirror api.
Is there an additional setup or permission I need to ask for that I missed? On the application side? Is this related to my google account and having not set up glass?
EDIT:
Okay, from the authorization docs:
Select the Services tab in your API project, and enable the Google Mirror API.
However, I'm not seeing Google Mirror API listed on the services tab?
The Mirror API is currently in developer preview and access is limited to I/O Explorers who have received their Glass device. You can subscribed to this issue on our issue tracker to get updates on when the Mirror API will be public.

Resources