Google Cloud Project Blocked, Abuse Detected - google-compute-engine

After i started my free trial of google cloud usage, just after when i tried to create a VM instance it gave the error that is written in the title. Then i created another project then i get this error for every project i create.
How can i fix this?

The error that is communicated by the “Google Cloud Project Blocked, Abuse Detected” message, can be addressed as follows:
By making use of the email provided for contact with the error.
By contacting the billing team via the dedicated form: “Google Cloud Platform Billing Support”. In case your account has been already suspended, you can submit supporting documents via the “Submit verification documents to reopen your account” page, as needed.
Each one of the above options will lead you to the billing support team. They are ready to help all GCP customers, and able to verify your funding source, confirm its validity, and reinstate normal access to your projects.
If you have multiple projects covered by a unique billing account, any problems with this one account, including blocking, would reflect on all existing projects, and also on eventual future projects opened under the same account.

Related

Microsoft App Store Submission does not have access to Email Account to test

I'm trying to get Microsoft to approve an Web addin that takes a user's email attachments and pushes them to our Web Application. We have some very robust testing notes (up to the max in the free form text box that is) and it includes access to an Office 365 mail account, which in the first submission attempt they told me was required.
In this recent attempt they sent back a response that we had incomplete testing notes:
Your submission did not include all information needed for successful
verification and testing of your offer. We were unable to login to
your Outlook account. Please see the attached (CannotLogin) image.
Please include all necessary instructions and resources for successful
verification and testing in the Notes for certification field when
re-submitting your offer. The Notes for certification field is
available on the Review and Publish page when you are editing your
offer listing.
That's it. They've never made any attempt to reach out to ask to sign in, but this seems to be required in testing. I'm wondering what we do to get this submission through. Do we leave out the email account to test with completely and have them test with one of their own accounts? Or do we put instructions in our submission explicitly to reach out to us for account verification? All we need them to do to test this is have some email with some attachments and use our credentials to our hosted web app (in our testing notes) to push that information to us.
** This is Microsoft's recommended source for support, which is odd, we've tried other forums to try to reach out. I'm aware this question may be 'off topic' according to SO guidelines. I've found that they've responded on Stackoverflow in better fashion.
**** Update ****
The submission attempt failed again. We included a specific email in our submission with test data in the account. Following screenshots explain that the requirement is an Office 365 account. Are we supposed to include an Organization domain specific office 365 account?
The validation team use their own test accounts to confirm the sign up for an account flow and the majority of the testing. If there is any features that require an account with unlocked features, say from a paid for account - that needs to be provided by the add-in submitter. If a large amount of configuration is required or a large amount of test data needs to be present in the account, they will use the provided account. They must be able to log in and use that provided account and as they validate a large amount of add-ins per day, there is no method to contact partners mid-validation. It is the add-in submitters responsibility to ensure a test account is provided and that that account can be accessed.

Enable Billing on the Google Cloud Project

I want to retrieve address from lat long coords. I have created project in google console. Added Billing information and enabled the geocoding api services. But still when i make this request i am getting the below error
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.89,12.49&key=xxxx
You must enable Billing on the Google Cloud Project at https://console.cloud.google.com/project/_/billing/enable
I was also Facing the same issue, Billing is enabled and is linked to the project but I was getting the same Error.
After Spending enough time on this issue, I understood that the type of my billing account is "Google Cloud Platform", but it should be of type : "Google Maps Platform"
You can see the type of your billing account on the right side of Billing Overview as in the image:
So please check if your Billing type is "Google Maps Platform", if not create a new Billing Account with "Google Maps Platform" as type and link your project to this Billing Account.
Most of us are getting this response/error
{
"error_message" : "You must enable Billing on the Google Cloud Project at <br>https://console.cloud.google.com/project/_/billing/enable Learn more at https://developers.google.com/maps/gmp-get-started",
"predictions" : [],
"status" : "REQUEST_DENIED"
}
If you will read this answer throughly you'll be able to sort out this issue.
As mentioned in this answer.
You'd have to create a separate billing account in order to use Google Map APIs because google map bills in USD currency instead of your native currency.
Solution(3 step)
create a new billing account.
create a new project and associate it with above billing.
enable Map API and create a new API key. that's it.
Step1: create a new billing account, you can use this link https://console.cloud.google.com/billing/create and Choose Google Map Platform from the dropdown.
Step2: create a new project using this link https://console.cloud.google.com/projectcreate and use billing account created above.
Step3: Now you can enable particular API and you're good to go. That's it.
Make sure that the API key you are using to authenticate the request is from a project that has an active billing account. If not, your requests will fail and if you are using Javascript API, your map will get the "Degraded experience".
Below are some of the links we have that could be helpful in your use case.
Managing your billing accounts
Modify a project's billing settings
Viewing your cost trends with billing reports
Once everything is set up, you can always file a support case via https://console.cloud.google.com/google/maps-apis/support in order to open personalized communication channel whenever you are encountering issues with our product.
Thank you and hope this helps!
Go back to the billing account and see if something went wrong with your credit card. Credit cards are validated asynchronously.
Go to the GCP Console and verify that your billing account is assigned to the project.
In the GCP Console check for past due amounts.
After you assign/modify a credit card, wait. The process is not instant in (re)authorizing billing for your account.
I had the same issue. I was doing everything correct.
then I found this link
Gmp india faq
The problem was Google maps billing doesn't support INR Currency.
Please check if your currency compatible with Google Maps billing platform otherwise create new billing account with USD currency.
Thanks!
You may find this link helpful
Modify a project billing settings
I have had similar problem, when I have created a free tire payment account and I was not able to create a Windows VM as thesse are paid.
To fix I have "upgraded" the free tier payment account. It was confusing because the payment account has had enabled a valid payment method and linked to the project but it was not working.
There is a button to upgrade the free tier payment account, on the account dashboard page.
For those of you who enabled their billing account through the link in the error message but still get the error, or can't find "Enabled google service" as someone else suggested, simply just delete your browsers cache and try again.
For anyone still struggling , my case was that i have reached a maximum of projects for the same billing account and for some reason i couldnt create a new one as mentioned above , for that after a lot of reasearch i found that i could disable billing for some project so i can use it in new ones :
1- go to the link https://console.cloud.google.com/billing/projects
2- click on the three dots for the first projects (the billing is enbale for those projects).
3-disable one of them
4- enable the billing for your new project and you are good to go !
however still not sure why i could only enable this for just 3 project , i think it is not a lot !
Use:
gcloud alpha billing accounts list --format json
# ^^ find an active billing account then
ACCOUNT_ID='0XYXYX-XYXYXY-XYXYXY'
gcloud beta billing projects link $PROJECTNAME --billing-account $ACCOUNT_ID
# ensure it says "billingEnabled: true"

How to give Team Drive access to a Service Account without enabling Team Drive sharing with external parties?

Th company I work for recently switched to using Team Drive and we had multiple applications that would interact with Google Drive using the Google Drive API. The API calls would be authorized using Google Service Accounts and access to specific files would be given to an app by sharing the file with the Service Account email in the same way you would share a file with a normal user. Now that we've switched to Team Drive I'm unable to grant access to the Service Account as the email address associated with it is not considered part of our organization. I've also looked into adding the Service Account as a normal user in our organization through the Google Admin dashboard, but it only allows me to create new users, not include existing ones. The only solution I've found is to enable sharing with external parties which would allow me to share Team Drive files with the Service Account, which would be considered an external party. This solution is risky and incorrect as the applications using the Service Account are part of our organization. We also do not want enable sharing with external parties in general for security reasons.
I've followed the steps described in How to access Team Drive using service account with Google Drive .NET API v3 and they work, but as mentioned above they require sharing with external parties to be enabled which we do not want.
The ideal solution would be for the Service Account to be considered part of our organization, but I cannot find a way to do this.
I've also tried delegating Domain-Wide Authority to the Service Account as described in https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority, but as far as I understand this is not what I want as this will allow the Service Account to impersonate other users, but the reason we have a Service Account is for carrying out processes that happen automatically and which aren't associated with a specific user.
I've also followed the steps outlined here https://developers.google.com/admin-sdk/reports/v1/guides/delegation#delegate_domain-wide_authority_to_your_service_account for white-listing a specific API service through the Google Admin Security interface, but this doesn't seem to do anything, and I'm not sure what it is supposed to do as I have already enabled the Drive API for this Service Account in the APIs & Services dashboard where I originally created the Service Account.
We're using R and so I've been using the googledrive package which has functions for working with Team Drives like:
googledrive::drive_find()
googledrive::team_drive_find()
googledrive::team_drive_get(id = "team-drive-id")
I would expect to be able to see the team drive, but I guess this is not possible unless the Service Account email is a member of the Team Drive which is not possible because the Service Account (which is linked to our organization through its owner) is not considered part of our organization.
I had the exact same issue and after trying a lot of approaches, landed on the solution below (++):
Create a group in Google Workspace. You can add any external identity/email to a group, since they can be used for multiple things. So add the role account to this group.
Google has recently come out with "Trust" rules, that allow granular sharing. You can share with a group. So I created a trust rule that allowed sharing of any data source (easier than restricting who can share since file/shared drive ownership affects this rule) to only the group that contains the service account. Now external sharing is permitted, but only to the role account.
Lastly, share the drive with that role account.
++ Note that I also had followed the majority of steps above including the GCP project creation and domain-wide delegation before this portion, but was similarly stuck getting a 403 for access rights.

billing clients for google api's

Questions regarding billing for Google API's or more specifically the places and maps Google API's.
We have an app which is part of a SAAS package. When clients use our Software we have maps and place's API built it, however we want to offset the cost of the bill using these API's to that particular client using the software.
Currently we have a single Google Project we created and enabled the API's on our own google account however this means we will foot the bill as its using our token.
Can clients somehow connect to our google project etc or do we simply need them to create their own google project and pass that token through? Is there a streamlined approach that covers this...
When we did for our multi tenant application we did create only one google project and billing was getting accumulated into a single account. We looked at what you're talked about but since google does not allow to bill separately without having separate google project. Google API billing works on google project id. We decided to bill our clients separately and handled all calls to Places API on a single google project.
Long story short - it was not easy to have our clients connect to our project without having them create their own google project we ended up with one google api project.
edit: also missed another important point - Google My Business API needed whitelisting for each project id so it was another reason to keep it as a single project
Passing the token to the application is a probably very bad idea and will result in a security risk for your client and their token if it is intercepted.
As a developer for the client they should create a token on their account and then they will be charged. They can then give it to you as the developer for use. This is however a gray area as technically you are not allowed to share your tokens with anyone TOC However i believe that client and developer relationship should be secure enough for sharing the token.
Ideally you should give the client the code they can then use their own token and run the application themselves.

Can there be multiple users of one Google Drive account?

I have a web application that we are building. We need a text editor to allow for our registered users to create and or edit documents. We want the documents to be used within our app, but would like to use the Google drive interface to create/edit/upload docs. What I am concerned about is the OAuth2 process. I would like for our web app to be the authenticator, and allow our users access to our files/folders that are under our account rather than theirs. Can we do this? All of our users are authenticated by our application already, and we do not want them to have to use their personal credentials to access files used by our application.
According to Google's documentation:
Each Gmail account intended and designed for use by an individual
user. If you have multiple users frequently accessing the same account
from various locations, you may reach a Gmail threshold and your
account will be temporarily locked down.
Anecdotal evidence confirms this: a worker at a school reported a 403 error possibly caused by too many people logging into the same account at the same time.