Everytime I try to add a table to this empty dataset, BigQuery keeps throwing
"Unexpected Error tracking number: xxxxxxxxxxxxx", with two options: Send Feedback and Close. I've used the Send Feedback option several times now, and I really cannot move forward in this class without being able to create basic datasets on BigQuery.
Related
I have a google sheets addon with custom formulas that fetch data from my API to show in their result.
The problem for many users is the addon frequently reaches the Urlfetch quota. So I'm trying to use another source of data for my formulas, I been trying to setup BigQuery for that ( I know is not meant to be used like that).
My approach would be something like this:
When a user executes a formula, I look first in BigQuery to see if data already there, if not fetch from API then stores the result in a BigQuery.
I tried a proof of concept, where I added a custom function to my addon with the code sample in https://developers.google.com/apps-script/advanced/bigquery
where I replaced projectId for my own and queried a sample table
when executed the formula got this error:
GoogleJsonResponseException: API call to bigquery.jobs.query failed with error: Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.
I tried also execute the same code from a function called from the sidebar frontend, where I got this error instead:
User does not have bigquery.jobs.create permission in project
From these errors I'm guessing I have to assign a BigQuery role in IAM to each user. But I have hundreds of them.
Is there any why that any addon user can access the BigQuery project? or my whole approach is wrong.
How about using the Cache service instead of BigQuery? The Cache service is simple to use, does not require authentication, and also works in a custom function context.
Note these limitations:
The maximum length of a key is 250 characters.
The maximum amount of data that can be stored per key is 100KB.
The maximum expiration time is 21,600 seconds (6 hours), but cached data may be removed before this time if a lot of data is cached.
The cap for cached items is 1,000. If more than 1,000 items are written, the cache stores the 900 items farthest from expiration.
I have just followed the tutorial video here:
https://www.youtube.com/watch?v=QOm0dHgwvbM
And after starting a trial on a newly-activated Forge account, have I thought followed every step in the .NET instructions to the letter.
However, when I run the application, and attempt to upload a file, I receive the following error on the Console:
An unhandled exception has occurred while executing the request.
Autodesk.Forge.Client.ApiException: Error calling GetManifest: { "developerMessage":"The client_id specified does not have access to the api product", "moreInfo": "https://forge.autodesk.com/en/docs/oauth/v2/developers_guide/error_handling/", "errorCode": "AUTH-001"}
Does anyone have any suggestions on how to remedy this?
Thanks,
Alex.
Did you select the Model Derivative API while creating an app in https://forge.autodesk.com/myapps? If not, please go there, then edit the app, select Model Derivative API, and save the change. Afterward, restart your .NET app to fetch a new access token.
ref: https://petrbroz.github.io/forge-samples-docs/#provision-access-in-other-products
So, it turns out my issue stemmed from having previously setup a FORGE_CLIENT_ID and FORGE_CLIENT_SECRET system variables on a previous, unsuccessful trial of Forge. This meant that the Visual Studio solution I created was reading those values instead of the ones I had input in code. Thanks to Cyrille Fauvel of Autodesk for helping me figure this out.
Cyrille says he is going to feed back to the rest of the Forge team that they ought to report back on the console the details of both ID and SECRET to prevent this happening in future.
I am currently building an ETL job in Talend Open Studio, that calls a banking API in order to retrieve customer data. The API works with OAuth 2.0. Using Postman, I can easily get an Access Token, which I then use in Talend to retrieve the customer data in JSON format. However, before I get the access token, the customer whose data I want to pull from the API, has to grant me permission for doing so. Using Postman, this is easy enough, as I get redirected to a page where the customer enters his/her credentials and then gives my App permission to pull the data:
My plan was, to setup the Talend job in a way, that this gets done automatically. My current approach is to use a tRESTClient component which calls the page on above screenshot and enters the credentials. Now there are several options with the tRESTClient component, but none of it works. First I tried to make a GET call with "Use Authentication Basic HTTP", parsing username and password of the user. That does not end with an error, but the response is just the html of the login page itself. When I try to make a POST call parsing the customer credentials to the TRESTClient component in JSON format, I am getting a 400 Bad Request. This is how my component looks in this case:
I also asked that question in the Talend Community forum, but so far no one replied to it. I dont know if I am completely off-trail here?! Any hint would be greatly appreciated, I am struggling with that task for 3 days now...
EDIT: to be more straightforward:Is it possible to perform these 2 steps in Talend alone:
I wrote two small Google Scripts that present simple forms to fill in. Most of my user community has no trouble using them. A small minority of users can never open the forms, instead they get "Sorry, unable to open the file at this time" error page for both forms. I can't find any common thread for why only some users fail. I've tested on multiple browsers on multiple machines, even on android devices, it never fails for me.
A couple of things I've noted:
when it fails for them the URL is re-written. The proper url starts with https://script.google.com/macros/s/... but for broken users when they paste that in they instead get https://script.google.com/macros/u/3/s/... (notice the "u/3" at the end)
There is no execution log created when they try to access the site, so I have no way to debug what's going on.
The app is permissioned so "Anyone" can access it, and it runs as my account
Sorry, I realize this problem description is impossibly vague. Any debug suggestions would be extremely welcome. I'm not a regular Google App Script developer, so I'm kinda stumbling in the dark with this one. Thanks in advance.
/u/3 means that the user have signed-in into multiple Google accounts, the number correspond to the zero-based index of the account in the order that the user followed to sign-in, 0 is for the default account, 1 is to de second account, 2 is for the thirds account and so on.
So, on your test include this use case, a user signed-in into multiple Google accounts.
NOTE: It's known that the HTML Service do not handle as expected this use case.
Related
AuthMode gets confused w/ multiple logged in users
We're sorry, a server error occurred while reading from storage. Error code PERMISSION_DENIED
Why is my script pushing an incorrect URL? [/u/2 inserted into script URL] (possible duplicate)
My Webapp is a doGet() function returning a HtmlOutput object to provide Get service.
It has been published for some days and has been run more than one hundred times.
Don't know why there was one time it ran failure this morning.The people who get the failure said it just show an error message on the page like
"Error:........"
and she didn't record it.I don't know where what's wrong, and I can't see any record in my dashboard or that people's dashboard.
So where can I some information about that?
To enable error log go to View -> Stackdriver Error Reporting in GAS editor.