Tableau Server REST API to check if view exists - rest

Is there any way to check if a view exists in the site based on its share URL ?
(Tableau Server Version 10.3, Tableau Server REST API version 2.6)
Input: (share URL of a view)
http://my-tableau-server/views/my-workbook-name/my-view-name?:embed=y&:showAppBanner=false&:showShareOptions=true&:display_count=no&:showVizHome=no
Output:
Boolean flag indicating whether the view represented by this share URL exists in a site or not.
I found one option to Query Views for Site where filtering on views is applicable only on the following fields and not on the contentUrl field:
name
createdAt
hitsTotal
ownerName
tags
updatedAt
I do not want to get all the views of a site and filter in my dot net code. Please suggest if there is any other option available.
Thanks!

From my understanding of the Tableau API, there are only two endpoints that allow all views of Sites or a Workbook. Both endpoints don't let you search for a specific view.
The only ways to accomplish what you are trying to do is to filter via the .Net code.

Related

Microsoft Graph API: How to get url for Task in Planner?

I am using planner task API from Microsoft Graph APIs to get details of a task created in planner. Is there any way to Teams client URL for task from Graph APIs? In the API response I don't see any property like webUrl which can be seen for other resources. Does Microsoft provide URLs for planner tasks in Graph API?
If it is not supported, can I build URL programmatically?
The task URL copied from Teams client appears to have below format:
https://teams.microsoft.com/l/entity/com.microsoft.teamspace.tab.planner/tt.c_{channel id}p{planner id}_h_1660906395123?tenantId={tenant id}&webUrl=https%3A%2F%2Ftasks.teams.microsoft.com%2Fteamsui%2FpersonalApp%2Falltasklists&context=%7B%22subEntityId%22%3A%22%2Fboard%2Ftask%2F{task id}%22%2C%22channelId%22%3A%22{channel id}%22%7D
The string 1660906395123 after h_ looks like some timestamp. Does anyone know what this timestamp is?
There is no supported way of programmatically getting the task url to the UI right now. Any method you find to be working can (and likely will) break without notice.
The value you are asking for is obtainable for a tab in the channel if you look inside the entityId of the configuration property of the tab (teams/{teamId}/channels/{channelId}/tabs).
If you copy the link to the task from the task app (instead of the channel tab) you get a different URL which seems to be easier to work with (still needs the channel id, but not the tab information).

where is the “Recently Used”,“In Active Adverts”, "Action Needed", "Shared" filtering based from facebook custom audience data?

If you go to business manager of facebook, then go to the "All Audiences", then under the "Audiences" tab, you will see a "Filters" button right beside the "Create Audience" button. Now my question is, which part the json data being provided by the facebook apis should I based the data that I should pull out based from these filters ?
- Recently Used
- In Active Adverts
- Action Needed
- Shared
Because unlike the "ready" and "not ready" status, those four filters that I mentioned are not straight forward where I can just look for the numbers from the returned json data. so how ?
Most likely, not all of this information is available through the API.
However, if you take a look at the following doc, you can see some reelvant fields that may help:
https://developers.facebook.com/docs/marketing-api/reference/custom-audience
Most likely you can use the field operation_status to look at whether an audience needs action.
For whether it's shared, take a look ad the edge adaccounts which will let you see the ad accounts this audience has been shared with.
For recently used, you'll probably have to look at the edge ads and review the status of the ads.
To save having to make multiple requests, you can take a look at field expansion in the Graph API, which will let you query for fields of objects in results using a single request:
https://developers.facebook.com/docs/graph-api/using-graph-api#fieldexpansion

Autocomplete testing on Azure Search explorer

I am trying to build and test the auto complete feature on a master item lookup tables using Azure Search (for a ASP MVC application). The search index was done with the suggesterName SG set to ItemDisplayName
I was looking to test it first on Azure portal- so that I could aim to replicate the results via code. This is because the results I am getting in code are quite unexpected
As I type the substring the itemDislayName, the expectation was that upto 5 selected names will be displayed
On the portal, I tried a query string of
search=str&suggesterName=SG
with the base request URL containing the index, api version and sugestorName-but I don't get results of items containing 'str' and with the fuzziness as below
Could you please guide around
[1] how I can get suggestor output in azure portal-search explorer
[2] can I control fuzziness using queryType and ~1,~2
I was referring to these 3 links
1) https://learn.microsoft.com/en-us/rest/api/searchservice/suggestions
and
2) https://channel9.msdn.com/Shows/Azure-Friday/Azure-Search-103-Azure-Search-Suggestions-with-Liam-Cavanagh
3) gunnarpeipman.com/2016/07/azure-search-suggesters/
Azure Search Portal doesn't support the Suggestion API yet. You will need to use an HTTP client like Fiddler or Postman.
Make sure you use the right URL for you Suggest requests:
https://[service name].search.windows.net/indexes/[index name]/docs/suggest
Please use our User Voice page to vote for adding the Suggest API to the Portal: https://feedback.azure.com/forums/263029-azure-search

Getting quizzes from Moodle

I'm trying to get Moodle's quizzes as JSON. I've already tried
http://desenvolvimento.imd.ufrn.br/qmmoodle/webservice/rest/server.php?wstoken=cf5a6639a4431341a40e7a75d8bb9cba&wsfunction=get_quizzes_by_course&moodlewsrestformat=json&course_id=2
To get all quizzes from a specific course. And
http://desenvolvimento.imd.ufrn.br/qmmoodle/webservice/rest/server.php?wstoken=cf5a6639a4431341a40e7a75d8bb9cba&wsfunction=get_quiz&moodlewsrestformat=json&quiz_id=3
To get a specific quiz.
I don't know what is wrong in my URL.
Thanks.
I think that you are referring to this document. If you read closely, you'll notice that it's a proposal about how the quiz web service should be written.
In fact, when I tried your query, to get all quizzes from a course, I got:
{"exception":"dml_missing_record_exception","errorcode":"invalidrecord",
"message":"Can not find data record in database table external_functions.",
"debuginfo":"SELECT * FROM {external_functions}
WHERE name = ?\n[array (\n 0 => 'get_quiz',\n)]"}
Moodle didn't found the external function get_quiz. That means... unfortunately, as of now, Moodle does not have a web service for quizzes.
If you feel adventurous, and what you need is just getting the quizzes, you could implement a web service to do that. The relevant moodle table about quizzes is mdl_quiz (for a full schema, look at this article), and here's the tutorial that shows how to implement it: Adding a web service to a plugin - Moodle Docs.
mod_quiz_get_quizzes_by_courses
is the function that does the job. How to call it
https://yourmoodledomain/webservice/rest/server.php?moodlewsrestformat=json&courseids[0]=courseid&wsfunction=mod_quiz_get_quizzes_by_courses&wstoken=yourusertoken

CalDAV query with text-match for ANY property?

I'd like for a user to enter a search string (for example, "Narnia") and get a list of calendar events where "Narnia" is present in the summary, description, location, or attendee list.
Adding multiple prop-filters seems to return only components that match ALL of the filters (in this example, only events that have "Narnia" in ALL of the properties). Is there a way to specify a query for components matching ANY of the filters?
It is not possible to specify such a filter with the current CalDAV spec.
What you are asking for is described in https://datatracker.ietf.org/doc/html/draft-daboo-caldav-extensions which is currently expired. I doubt that many servers have implemented this feature so want your client to check for its presence:
Servers advertise support for this extension by including the token
"calendar-query-extended" in the DAV response header to an OPTIONS
request on any resource supporting the extended query report.
Clients MUST check for the presence of that token before using the
"test" or "match-type" XML attributes.