Querying validation entries in Contentful / GraphQL - graphql

So I have a very basic content model in Contentful. On the category field, I have validation rules that only let the user choose from the predefine options.
I'm trying to query what these options are in graphQL. IE, a query that returns 'Day Ticket' and 'Season Ticket' + any additional ones that are added in the future of course. No luck so far, any thoughts?
content model
validation inputs

Contentful DevRel here. đź‘‹
I don't think that's possible via the GraphQL API. The GQL api works on with publish and preview data. The available functionality is more or less mapping to the data available in the Content Delivery API and Content Preview API.
To retrieve this information you'd have to communicate with the Content Management API (CMA). You'll find the information when you fetch a content model.
âť—Heads up, don't put a CMA token in the client (the browser). The CMA is a read/write API. If you leak the token to authorise people could alter your Contentful space and the data it includes.

Related

Google Analytics Data API: missing flag for identifying `golden` data

I've been using such API for generating reports over Google Analytics:
https://developers.google.com/analytics/devguides/reporting/core/v4/rest/v4/reports/batchGet
This API has result field isDataGolden:
Indicates if response to this request is golden or not. Data is golden when the exact same request will not produce any new results if asked at a later point in time.
Currently Google Analytics has new API for generating such reports:
https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties/batchRunReports
But there is no analogue of isDataGolden field in this API
Question:
Is such flag will be added to new API, or maybe there is another instrument to get only golden data from new API?
p.s.:
I need to use this new API, since old one does not support new analytics properties without Universal Analytics view_id
The Google analytics data api is used for extracting data from google analytics ga4 accounts. The reporting api is used for extracting data from Universal analytics accounts. These are two different systems and should not be compared. You can not use the Google analytics data api to extract data from universal analytics accounts with view ids.
If you check the documentation for RunReportResponse which is the response returned from running a reporting in google analytics data. You will find that there is no is golden property or any property of that nature.
Remember this api is still in beta the team is still working on it. One may appear in the future. You will need to wait to find out if google will add any field like this in the future as anyone who would know is probably under NDA and cant tell you.

integrating third party application with Dynamics CRM

I'm trying to integrate third party application with the dynamics CRM.
Authenticate the Dynamics User > Importing all the users data into third party application is my target.
But I'm unable to find the proper way to do this. I have gone through the developer docs but didn't find the solution. Can anyone please help me with this ?
Thanks for the clarification. You can get the Web API URL from Settings > Customization > Developer Resources > Instance Web API.
It will be something like:
https://myOrg.api.crm.dynamics.com/api/data/v9.1/
Using that URL you can query the system and get JSON results.
Going to the root URL will give you the collection name (a.k.a. EntitySetName) of all the entities in the system (which for users is systemusers).
Generally the EntitySetName will be the plural of the entity (i.e. just add 's'), but there are some quirky rules for making plurals so its best to confirm the entity set name via the API or a tool like XrmToolbox's Metadata Browser.
The most basic query for users would be:
https://myOrg.api.crm.dynamics.com/api/data/v9.1/systemusers
It will return all fields of all users.
To get a set of fields:
https://myOrg.api.crm.dynamics.com/api/data/v9.1/systemusers?$select=salutation,fullname,jobtitle,createdon,internalemailaddress
To add a couple filters:
https://myOrg.api.crm.dynamics.com/api/data/v9.1/systemusers?$select=salutation,fullname,jobtitle,createdon,internalemailaddress&$filter=isdisabled%20eq%20false%20and%20address1_line1%20ne%20null
Of course you have to do this with Java's XmlHttpRequest. When querying data you can use HTTP GET.
To test the above queries quickly you can simply login to the D365 web client then paste a query into the browser's address bar.
You may also want to check out Jason Lattimer's CRMRESTBuilder. While it doesn't build Java, it gives you a UI to create JavaScript XmlHttpRequests, which you can then translate to Java.
And here's some Microsoft documentation on querying the Web API.

Deeplink from bot to tab in Microsoft Teams

I am currently working on a bot specifically targeting Teams. Search feature in this bot returns around 200-500 results. Even though i have integrated refines to narrow down search results, i still have to show around 50-100 records under a refined label. I am trying to avoid showing 100+ records as Carousel or list view in bot. so, I thought of integrating tab with bot and share a deeplink to tab where user can see complete search result in a data table (jquery).
I am unable to figure out two things on this approach and need help.
Tab content might be hosted in a different domain and needs authorization. How do I pass authorization info to Content url without asking user to login?
How do i pass custom parameters while creating a deep link to tab and read custom data in a tab? For example, userID, accessToken.
Note: I am using AzureADV1 token with Adal.Net for Bot authentication, and storing token cache in a persistent storage.
I appreciate any help on this.
You can include a "context" parameter in your static tab deeplink, similar to the configurable tab deeplink. If you include a "subEntityId" property in this context, you can get the value inside your static tab by calling getContext(). Then you can render a filtered results based on this sub-entity id.

Google Analytics - filtering out the traffic created by my bot

I built a website testing product that can be employed by Q&A and other teams. It is essentially a Chrome based robot that does all kind of queries to a target website.
I would like to give my customers an option to filter out the bot traffic from their Google Analytics using GA filters, or simply filter it out by default.
Restrictions:
No changes on the tested website required
It must be a product-wide solution (no exceptions for specific customers)
It should not alter any typical parameters (user-agent, screen size, java support, referral, ...), as these can be altered by the user in my product
It shouldn't require any Chrome plugins (such as GA opt-out)
Filtering cannot be IP based, as the product can be ran from anywhere at any time
I would like to avoid blocking GA objects from loading in the browser, as this can skew the test data
Ideally this would be implemented using something like a custom X- HTTP header or a custom cookie, but found no way to filter GA data based on that.
Any ideas how to approach that?

Youtube Data Analytics API Targeted Query For CMS

Before accessing the Youtube API in a script I was using the try-it function for Targeted Queries. With the most simple params, I keep running into a 400 error.
Scopes:
Params (CMS name as both the URL and Name failed):
Errors:
I am a CMS with full admin privileges and I am a content owner.
For Youtube Targeted Queries, the dimensions and metrics must adhere to specific combinations outlined in the Content Owner Reports. I suspect using filters for more descriptive (but smaller) reports, and combining reports is a way to maximize on Youtube's rich dimension and metric offerings. Will post a follow up.

Resources