Auto Refresh on Google Data Studio using Google Apps Script - google-apps-script

I have connected a Data Studio report to our internal SQL data source and I've been searching for a way to auto refresh the report at certain intervals.
The only thing I found so far is the plugin called Data Studio Auto Refresh, which is not working.
Is there anyway to set up auto refresh on my Data Studio report using Google Apps Script?
The datastudio report is being projected to a large monitor in our office that's why I am trying any ways to auto refresh the report.

So since the report is being projected to our office monitor, as a workaround I tried creating a script and placing it to the developer tool console that will auto refresh the report at a chosen interval.
function refreshCases(){
$(".refreshIcon").click();
setTimeout(function(){
refreshCases();
},60000)
}
refreshCases();

Currently, there is no native / Apps Script based method to auto refresh an opened Data Studio report page.
You can vote for this feature at the official feature request tracker.

You can set data freshness for a data source when adding a new source.
You must be an editor of the data source to change this setting.
You can do this from within a report, or from the Data Sources home
page.
At the top, click Data freshness.
Under "Check for fresh data," select a new refresh option, if available.
Click SET DATA FRESHNESS.
You can set a different period of refresh depending on the source.
Here is the link to google documentation:
https://support.google.com/datastudio/answer/7020039?hl=en

Actually you can do it using Data Studio Auto Refresh, what you need to do is enable the plugin then refresh the Data Studio your working for the plugin to work. The interval depends on what interval you choose. I'm using the plugin and its working. :D

Related

PowerBI doesn't Refresh

I have several PowerBI reports that don't refresh automatically or whenever I press refresh in the website and I have to use PowerBI desktop app to refresh it manually and then save it or publish it again.
The reports use direct queries in MySQL db and are shown in PowerBI website. BTW, These are the PowerBI reports not dashboards. Also I tried to use Automatic Refresh but it failed every time.
This is a screenshot of Power BI in the web:
When you click the Refresh command, it just expires the cache and reloads it from the data source. So if you have had a scheduled refresh or uploaded a new data set this will enable you to see the updated data.
It will NOT refresh the underlying data source. Data refresh is not done with this button.
If you use online content packs, the data refresh of the underlying data source is determined in the individual content pack.
If you use a PBX with your own data sources, you will need to use the data gateway to schedule data refreshes (or run them manually). Then you don't need to refresh the PIBX in PowerBI desktop and re-publish the file.
Well Microsoft Power BI Provides a way to refresh the data automatically by configuring the schedule Refresh in the Power BI Service. So, that wherever there is updated data in the queue it will automatically refresh the data based on schedule time. Below are steps for configuring the schedule refresh.
Open Power BI workspace.
Switch to report tab as shown in the image here.
Once you click on the button then you can see the new three icons as in the image here.
First and second are for report creation and refresh data. But the third icon is for schedule refresh.
Once you have successfully completed the above steps then your data or report will automatically get refreshed.

SSRS URL Access setting a save location?

We have an SSRS 2012 report we have used URL access in order to automatically save to CSV upon running. This works fine, However, now I am told they want to force the report to save to a specific folder location for security reasons (they don't want it being saved to desktop) instead of allowing the user to save wherever. Is there a way to at the very least force a default location using URL access? Assuming this cannot be accomplished purely through the URL any suggestions for an alternative method?
You can find all of the applicable URL parameter commands here in the MS documentation.
That being said, there is no reference to the save location for the export render command that you are using to generate the CSV files. This makes sense because when a website serves a file to download to a browser, the location that the file is saved is actually a browser setting (IE instructions to change location)
I see two possible options:
Utilize a GPO to target the specific users and modify their registries to set the default download location (note that this affects everything they download). An example of this tutorial can be found here.
Use a Windows File Share subscription. If you view the report properties and click 'Subscribe', you can setup a file share delivery on a scheduled interval and export as a csv. Note that this is a schedule delivery though and obviously won't work if you users need to ad-hoc run the report on their timing.

Embedded Images in SSRS Reports not Displaying - Permissions Issue

I have a logo at the top of all my reports that I have as an embedded image.
These reports are displayed in an ASP.Net web app via the SSRS web service interface - all pretty standard stuff but the image doesn't render - I just get a broken link.
There are a number of possible solutions for this problem and I've tried a few things including setting UseSessionCookies to false in the ConfigurationInfo table.
What I've noticed is that the image displays fine when I change the anonymous account of the consuming web app from a least privileged service account to my own user account.
I do not understand why this and can't work out what special permissions are needed by my web app's service account to be able to view embedded images in reports.
Can anyone help?
Ok, problem solved. Kind of. The problem isn't limited to embedded images and occurs because I am not using the reporting services viewer.
To summarise:
1) when your web application is making the call to the report server it is fully authorized to do so. A SessionID is generated that is ONLY available to the web application account (i.e. the Service account under which the app runs).
2) the web app outputs the RAW HTML4.0 to the screen.
3) the browser receives the HTML and tries to retrieve the images referenced in the HTML.
4) the browser is running as your user account (e.g. domain\username1)
5) the report server receives a request that looks like:
6) now the SessionID listed in the URL is not associated with domain\username1, so report server claims it does not exist.
When you set the app domain to use the domain\username1 account, then the SessionID happens to be associated with your the account so suddently things 'work'. But the moment real users try the system they complain that the images are missing, since their domain\usernameN does not match the app pool account.
The solutions to this problem are as follows:
1) use the Report Viewer control. This will ensure that the URLs received by the Browser will point back to your web app and your web app identity will be used to retrieve them from the report server.
2) in your web app code, parse the HTML4.0 that you get back from the Render call, fetch and cache all the images, re-write the HTML4.0 links to point to the cached images stored by your web app and then send it to the browser (if this seems complicated... then use the Report Viewer control since it make the scenario work)
3) you can try to use the MHTML output format, this will produce a fully qualified report with images embedded in the since binary stream. The consequence of this is it is harder to embed it within an application page... but not insurmountable
I chose to use a variation on 2) because I don't want to use the report viewer. The logo I'm trying to display is already hosted in the calling web app so I just replace the src attribute of the img tag in the response returned from the SSRS report execution service with the url to this location.
I really don't want to use the report viewer as suggested as the best solution to this issue. Why SSRS has to use session information to return something as simple as a logo that is displayed on all reports is beyond me.... It has taken ages to get to the bottom of this and the solution isn't especially pretty....
Is this an external image? Take a look at this MSDN article that explains the permissions needed for retrieving an image:
When the report is previewed in Report Designer, preview uses the
credentials of the user to display the image. When the report is run
on the report server, the report server uses the unattended execution
account to retrieve the image. If the unattended execution account is
not specified, the image is retrieved using no credentials (anonymous
user account). If either of these accounts have insufficient rights to
access the image, the image will not be displayed in the report.
I would check the permissions on the image in the Report Manager.

right-click-then-open-with works but simple left-click does not

At some point in the last couple of days a bug seems to have materialised in my app's Google Drive integration, despite me not having changed anything, and usage remaining fairly constant.
When you left click one of the app's documents in Drive a new about:blank tab opens showing the app's icon and the text "Sorry, an error occurred while opening this file. Please try again. [XXXXX]" where [XXXXX] is a short string that seems to be different every time. The create new works fine, and if you use the right-click menu and open with it also works fine.
All of this makes me think that there is a bug in the latest javascript update to Google Drive's main interface.
In terms of debugging, in the apiconsole the app has...
The initiate oauth2 option unchecked
The allow multiple files option unchecked
Mobile browser support checked
24 mime-types, 61 primary extensions, and 1 secondary extension registered
If it is a bug as Claudio has mentioned, I believe Google Drive SDK documentation needs to be updated too, since 'open' action is described only for "Open With" option:
https://developers.google.com/drive/integrate-open
I'm wondering how to trigger the proper action when registred mime-type can be managed by more than one installed application? Is there a way to set the default open action - or the application which created it will be used as the default? What's happen if you reach the application web by typing the url (not from UI Drive UI create action) and save the content on Drive, since you may be already authorized to do it?

SSRS Report in CRM 4 IFrame not updating

I am using CRM 4 and have uploaded an ssrs report into the reports area. I published this for external use and in one of the entites have an iFrame that points to this published report.
This all works well, the problem is that if I update some of the info that the report is looking at and refresh the page the report doesn't update.
In fact I need to close the browser and re-open it of the report to refresh. This only happens in the iFrame, if I re-run the report in the reports section it updates correctly.
I assume this is because the info is cached somewhere. Does anybody know if there is a way to force CRM/SSRS to get the info afresh every time?
Thanks,
Neil
You need to add an additional parameter to the end of the URL used as the IFRAME source
&rs:ClearSession=true
This forces a refresh of the report each time it is accessed.