How to delete projects on Actions on Google - project

I'm playing with Actions on Google and created some projects. I've deleted all of them but I'm unable to create new ones. I receive an error messages stating that I've reached the project limit for my account. Is there a way to reset this counter once all the projects have been deleted?

Try to delete the same project on the Google CloudPlatform.
However, I fix this problem by creating a new google account or applying for additional quota for non-paid Cloud Services. I recommend the latter method, since you only need fill the application form and wait 2 work days to get approve.

Related

How to start a VM instance using Cloud Scheduler

Background and Goal
I have a Debian/Linux VM on GCP which I manually start every morning and after it runs, it shuts down by itself using a Linux command. I want to automate the start of the VM by using the Cloud Scheduler. The question asked in GCP auto shutdown and startup using Google Cloud Schedulers has several answers and I am interested in pursuing the answer (https://stackoverflow.com/a/65062924/10322004) proposed by #nikelone because it seems to be simple and also it has been endorsed by #Damien and #RayFoss as being easy. I am a neophyte in these matters and I could not comprehend their replies fully. So this post was created to elicit more clear answers for a person like me.
What I have tried
I have gone to https://cloud.google.com/compute/docs/reference/rest/v1/instances/start (call this page A) and tried the API and was able to successfully start my already stopped VM when I clicked on the execute button. I presume that this means that my entries were fine and can be used in conjunction with appropriate software like Cloud Scheduler to perform the start function on a predefined schedule. But the problem is that I do not know or understand how to proceed from here. I give below my questions.
My Questions
On page A, the last three paragraphs are titled Authorization Scopes, IAM permissions, and Examples, and none of them say anything specific about what the user should do. Is it correct to assume that they have nothing to do with the Cloud Scheduler, but related to other methods to achieve the same goal? If this is not correct then my next question is what should I be doing to follow the statements in these three paragraphs?
Assuming that the answer to question 1 is "yes", meaning I can now start scheduling with the Cloud Scheduler, I next looked at the quickstart for Cloud Scheduler at https://cloud.google.com/scheduler/docs/quickstart (call this page B). The list of items to do is quite large including installing Cloud SDK, running a quite a few commands on the console, enabling some features, set up Pub/Sub, create a job, run the job and verify the results in Pub/Sub. This looks like a daunting set of tasks and I could not understand why it is necessary to jump through the hoops to use something that has already been achieved with just a few keystrokes earlier. So are these steps all necessary? Or is there a way to use the Cloud Scheduler directly without going through so many intermediate steps?
Now assume that the answer to question 2 is that I have to perform all steps stated on page B. If I run into some problem while accomplishing the tasks outlined on page B, my VM may get messed up irretrievably. Is there a way in which the Cloud Platform or its components can be used to reset my VM to its current state as of today, which is working fine? I really do not want to end up with something worse than what I have now.
To answer your questions:
Auth Scopes and IAM permissions are required for you to call the Compute Engine API methods such as instance.start & instance.stop. You need to set the right scope and the right IAM permission on your job or else it will fail. They are indeed related to the method that you're interested to call so you must keep them in mind. What you see on the examples are the ways to call the {API} using different programming languages so you don't need to pay attention to them as you will create the job through the Cloud Console. To further address this part, see the full steps I included below.
The answer that you're trying to follow uses HTTP target while the quickstart you've linked uses Pub/Sub and they are different with each other because they have separate use cases. This link shows a proper instruction how to create a scheduler job with an HTTP target. You can create this kind of job straight from the Cloud Console or a one-liner gcloud command. If your config is incorrect, the trigger will not execute the endpoint URL and you will see an error that you must fix.
Addressed on answer #2
Basically, you just need to follow the instructions to the link you've sent. However, I'll post it here as well along with my explanation:
Go to https://cloud.google.com/scheduler. Click on Go to Console. Click on Create Job. Fill up the required fields (those with red asterisks) when creating a Scheduler Job.
Select HTTP as target type.
Enter this as your URL (modify the capitalized words).
https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/INSTANCE_ZONE/instances/INSTANCE_NAME/start
Choose HTTP method POST.
Click show more and choose Auth Header "Add OAuth Token"
Enter your service account. This is used to pass an OAuth Token when your scheduler job calls the Compute API. Make sure that the service account you will use have the "Compute Instance Admin" role because this role contains the permissions to start/stop your instance. See this instruction how to grant access on a service account. If you're not sure what service account to use, feel free to use the Compute Engine default service account.
Add this on Scope:
https://www.googleapis.com/auth/cloud-platform
The description of this scope:
See, edit, configure, and delete your Google Cloud Platform data.
Repeat for Stop instance job and change URL in #3.

YouTube Api V3: Access not configured

The api key I used was deleted by the Person who gave it to me, no big deal, I can generate my own one.
I created the Project, activated the Access to the YouTube api, created my key and tryed to use it in my Project.
At first I got the message, that the key would be bad or was non existing. After a few minutes, the key seemed to be registered, but now i get a different error message:
domain: 'usageLimits',
reason: 'accessNotConfigured',
message: 'Access Not Configured. YouTube Data API has not been used in project 'my Project id' before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/youtube.googleapis.com/overview?project='my Project id' then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.',
When I open the given URL, i just get the overview, where even is mentioned, that the API is activated:
Aktivierungsstatus
Aktiviert
I tried to delete my key, deactivate the API again, reactivate it, and create a new key. And I added my Domain to the trusted Domains.
Tried different restrictions for the calling and the APIs, and even removed all restrictions.
What could cause the problem?
I more or less (didn't) solve the Problem.
After waiting for some days Overall, and recreating keys, reactivating the api and much more, i gave up today.
Looked through many tutorials and blog Posts and just did a step by step guide on how to use the api for a WordPress YouTube Plugin.
So, i created a new Project (almost identical Name) on the same Google account, activated the api, created the api key, and on the first try, without waiting or anything, it worked.
3 Steps:
- Create a new Project
- Activate the api
- Create the api key
I dont know why this does not work on my first Project, as i did the exact identical steps.

BigQuery API [HELP]

My spreadsheet was working normally, but this error started to appear. My account is business, so I did not activate the charge.
I've done some spreadsheets and none of them needed it.
Can someone help me?
This error
The error message states that you do not have a billing account attached to this project and therefore you will not be able to perform querying in BigQuery of your own data until you attach a billing account. If you are saying that everything works from the UI of the Google Cloud Platform Console, you are probably using a different project there.

Creating Multiple Google/YouTube Data API Keys

Is it possible to create multiple API keys for the YouTube Data API?
The majority of Live YouTube Subscriber Counters use loads of different API keys for their counters (as can be seen in their JavaScript code).
The aim of doing so is to not exceed the daily quota limit of 1,000,000 and having to send requests every few seconds per page visited would mean that the limit would be reached very quickly.
How are they able to get away with this?
Here is a SO post to answer your question.
Technically you can run your application using different API Keys it
should work fine. Technically there is nothing wrong with creating
additional projects on Google Developer console. You don't need to go
as far as creating another Google account.

Dropbox web hook on file added?

My application currently utilises an integration with the Dropbox API. The purpose of which is to allow clients to put certain documents into a dedicated folder in the Apps/My_App_Name/ directory, my application then periodically polls the folder to see if anything has been added and if a document is found it will automatically move it into the client's document management area within my application.
At the moment there are approx 300 users (and counting) who have their Dropbox accounts synced with me in this way. I believe I am doing something very inefficient here, but essentially my application polls all 300 accounts to see if a file has been added. This happens every 10 minutes but I'm having to widen this interval as more accounts are added to prevent an overlap. Each time I poll all accounts, usually I'd find only 1 or 2 out of those 300 who have new documents.
My question therefore is.. Is there a method within the Dropbox API to post a Web Hook or notification of some sort only when a client adds a file to that Dropbox folder? This could then trigger my application to poll only that account and save a whole load of resources on my side.
Additional Information:
Platform: ASP.NET C#
Wrapper: SharpBox
I contacted Dropbox and they have confirm that currently (15th March 2013) they do not have a web-hook or notification system for when users upload files. They did however indicate that this is something they are looking to add in the future.
UPDATE 19th February 2014
Great News! Dropbox recently announced WebHooks:
If you're interested in helping us out, just click through to fill out
your information, and we'll be in touch:
https://dropboxapi.wufoo.com/forms/dropbox-webhooks-api-beta-feedback-contact-info
Happy Dropboxing!
Dropbox now offers webhooks so that you can get notifies when a file is added
https://www.dropbox.com/developers/blog/90/announcing-dropbox-webhooks