I am checking for errors in YOUTUBE API V3 - youtube-api

I would like to receive the number of playlist and playlist for the YouTube channel, but I have not received the normal value.
Youtube Channel id = UCfgCVM6Thui54cwUqdH1XNA
That's have 16 play list.
But Youtube-v3-api return to 8 play list.
I want to know if there is an API error or a Query problem.

Use Youtube's Playlists.list. I tried to using your Channel ID and here's the number of playlists it returned:
(these were the parameters in the Try-it)
part -> snippet
channelId -> UCfgCVM6Thui54cwUqdH1XNA
maxResults -> 50
RESPONSE:
{
"kind": "youtube#playlistListResponse",
"etag": "\"GM4ZnRh2gk1X1BLWgHklTm-3cgQ/brsESCW4H5vAYLrCxJV_YEwdEIE\"",
"pageInfo": {
"totalResults": 16, //confirmed, you have 16 playlists
"resultsPerPage": 50
},
"items": [
.
.
I also checked how many channelTitles (representing a playlist) there were under "items" and got 16 counts.
Hope that helps.

Related

How do I get only the total count in Microsoft Graph query search. Is there a request to get only the total count?

How do I get only the total count in Microsoft Graph query search. Is there a request to get only the total count?
I'm implementing a custom solution that is using MS Graph query search to get the total count results when searching SharePoint online. MS Graph API returns the total count but I'm wondering is there a way to get only the total count without retrieving hits.
API Request: https://graph.microsoft.com/v1.0/search/query
{
"value": [
{
"searchTerms": [
"covid"
],
"hitsContainers": [
{
"hits": [...
],
"total": 20,
"moreResultsAvailable": false
}
]
}
],
"#odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(microsoft.graph.searchResponse)"
}
What I tried:
I used MS Graph Explorer and submitted this request
API Request: https://graph.microsoft.com/v1.0/search/query
This is the results from MS Graph Explorer:
{
"value": [
{
"searchTerms": [
"covid"
],
"hitsContainers": [
{
"hits": [...
],
"total": 20,
"moreResultsAvailable": false
}
]
}
],
"#odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(microsoft.graph.searchResponse)"
}
As per the doc, as a query string parameter with the syntax $count=true to include a count of the total number of items in a collection alongside the page of data values returned from Microsoft Graph. -
There is no spcefic way to get only count ,
But you can try with below Call, this will return you only 1 data ,
API - https://graph.microsoft.com/v1.0/users/?$search="displayName:Vicky"&$count=true&$top=1
There is no way to get only total number of matching results without search results for Search API.
The response always includes searchHitsContainer with a collection of the search results.
Be aware of searching across messages, Teams messages and events, because for messages, Teams messages, events, total property of the searchHitsContainer type contains the number of results on the page, not the total number of matching results.

Search results not showing up on "items" or "resultsPerPage" while existing in "totalResults"

I've been trying to find channels on YouTube using the Search.list API endpoint's type channel.
And I get an empty items property; but the response indicates that there are results in totalResults and 0 results in resultsPerPage:
{
"kind": "youtube#searchListResponse",
"etag": "iHuEFDsu11n1f_tDVzZYHXDlOIQ",
"regionCode": "IL",
"pageInfo": {
"totalResults": 4,
"resultsPerPage": 0
},
"items": []
}
You have to acknowledge is that the property totalResults is not reliable by its very specification (the emphasis below is mine):
pageInfo.totalResults (integer)
The total number of results in the result set. Please note that the value is an approximation and may not represent an exact value. In addition, the maximum value is 1,000,000.
You should not use this value to create pagination links. Instead, use the nextPageToken and prevPageToken property values to determine whether to show pagination links.
This peculiarity of totalResults is also confirmed officially by Google's staff.

Youtube search API always consuming 100 units

I use the Youtube V3 Search API to get only 1 video ID:
https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=1&q=skating&fields=items%2Fid%2FvideoId&key=my-key
The result of this call is:
{
"items": [
{
"id": {
"videoId": "rYEDA3JcQqw"
}
}
]
}
The problem is that this is costing me 100 units!
Does anyone have any idea on how to fix this?
If you know the videoId, don't use the search API, but the videos API instead
https://www.googleapis.com/youtube/v3/videos?part=snippet&id=u6ZSgqS37kM&maxResults=1&key=[YOUR_API_KEY]
This costs only 3 units instead of 100.
If you really want to search, there is no way to go under 100 units, that's the normal quota for search. However, you can set maxResults to 50, so you will get 50 results for the same 100 units.
You can use the quota calculator to find out the exact numbers: https://developers.google.com/youtube/v3/determine_quota_cost

Graph "beta" filtering for date time from audit logs not working (returns all data)

Using the graph explorer, I'm trying to limit (time box) the number of entries being returned. This is so I can extract the data from Azure to upload into our SIEM portal. I am getting the data back (10's of thousands of datapoints) - but I need to time box them.
This works as a query (both in graph explorer and from powershell) - but the results are not in the time frame requested. I've tried different time formats (including down to the second) and they don't limit the results.
It seems like it isn't going deeper into the data structure for the filter to operate on.
Any suggestions on the filter or a different approach (without accepting all the data each query and doing a post-results filter)?
Note: I also tried the activityDateTime prefix with value/ and value\ (reading from a different article I found) - so value/activityDateTime and value\activityDateTime - no different results (no errors either)
This is the 'get' from graph explorer (beta selected)
https://graph.microsoft.com/beta/auditLogs/directoryAudits?=activityDateTime ge 2018-07-16T15:48:00 and activityDateTime lt 2018-07-16T15:58:00
returned this (only partially results, guid/hex strings were removed) - you'll notice that the activityDateTime returned below is not >= and < the date/time passed in the query
{
"#odata.context": "https://graph.microsoft.com/beta/$metadata#auditLogs/directoryAudits",
"#odata.nextLink": "https://graph.microsoft.com/beta/auditLogs/directoryAudits?=value%2factivityDateTime+ge+2018-07-16T15%3a48%3a00+and+value%2factivityDateTime+lt+2018-07-16T15%3a58%3a00&$skiptoken=[hex string removed]_1000",
"value": [
{
"id": "Directory_[hex string removed]",
"category": "Core Directory",
"correlationId": "[GUID removed]",
"result": "success",
"resultReason": "",
"activityDisplayName": "Update group",
**"activityDateTime": "2018-07-18T14:30:44.6046176Z"**,
"loggedByService": "AzureAD",
"initiatedBy": {
"user": null,
"app": null
},
"targetResources": [
{
"#odata.type": "#microsoft.graph.targetResourceGroup",
[rest of data returned 1000 total removed]
You need to specify the parameter name. Otherwise, the API has no way of knowing what operation you want (select, orderby, filter). In this case, you want to $filter like this: $filter=activityDateTime ge 2018-07-16T15:48:00Z and activityDateTime lt 2018-07-16T15:58:00Z.
https://graph.microsoft.com/beta/auditLogs/directoryAudits?$filter=activityDateTime ge 2018-07-16T15:48:00Z and activityDateTime lt 2018-07-16T15:58:00Z

JIRA REST API 6.01 - listing all groups

I am trying to use JIRA REST API[1] to list all the groups in JIRA. I am currently using JIRA version 6.01 .
I tried /rest/api/2/groups/picker[2] in JIRA REST API 6.01 but could not find a way to specify the parameter "query" as the way I need.
If I use a whole group name in parameter "query", I receive the correct group like this.
Request 1:
GET /jira/rest/api/2/groups/picker?query=jira-users
Response 1
{
"header": "Showing 1 of 1 matching groups",
"total": 1,
"groups": [ {
"name": "jira-users",
"html": "<b>jira-users<\/b>"
}]
}
But if I use a part of the group name in "query" parameter, it does not give expected results.
Request 2
GET /jira/rest/api/2/groups/picker?query=j
According to the method spec [2] I hope to receive all groups that name contains "j" but I do not receive any result.
Response 2
{
"header": "Showing 0 of 0 matching groups",
"total": 0,
"groups": []
}
Can anyone please let me know the right way to give parameters?
Thank you
[1] https://developer.atlassian.com/static/rest/jira/6.0.1.html
[2] https://developer.atlassian.com/static/rest/jira/6.0.1.html#id150432
We're using JIRA 6.0.7 and can do:
/rest/api/2/groups/picker?maxResults=10000
Which will show you all groups up to a max of 10000 results. The the response is important part as it shows the total number of groups, this may require you to adjust the maxResults query parameter that you pass to it if you have too small of a value to show all results:
{
"header":"Showing 5014 of 5014 matching groups",
"total":5014,
"groups":{
...
}
}
If you omit the maxResults it just returns the first 20 out of 5014. However, for us doing:
/rest/api/2/groups/picker?query=j
Will result in all groups containing the letter j to show up. Maybe it wasn't properly implemented in your version. If you are unable to get the query part working properly, you could try and get all results and then do your own filter by analyzing the name for each group object returned.

Resources