API to tell me if the video is youtube originals - api

I'm wondering if there is a way to tell me if a video is youtube originals or not through youtube data api, analytics api or any other apis?
I've looked through the data api and analytics api documents but did not find anything useful.
thanks,
Dihan

One more time YouTube Data API v3 doesn't provide a basic feature.
I recommend you to try out my open-source YouTube operational API. Indeed by fetching https://yt.lemnoslife.com/videos?part=isOriginal&id=VIDEO_ID, you will get whether or not the given video is a YouTube original in item["isOriginal"].
The YouTube video iqKdEhx-dD4 is a YouTube original. With this video id you would get:
{
"kind": "youtube#videoListResponse",
"etag": "NotImplemented",
"items": [
{
"kind": "youtube#video",
"etag": "NotImplemented",
"id": "LGWn8NPXJus",
"isOriginal": false
}
]
}

Related

Why Youtube is getting failed to show some channels (searching by forUsername) using API?

https://www.googleapis.com/youtube/v3/channels?forUsername=TechBurner&key=
https://www.googleapis.com/youtube/v3/channels?part=contentOwnerDetails,id,snippet,contentDetails,statistics,status&forUsername=TechBurner&key=
this does not work
https://www.googleapis.com/youtube/v3/channels?forUsername=Apple&key=
https://www.googleapis.com/youtube/v3/channels?part=contentOwnerDetails,id,snippet,contentDetails,statistics,status&forUsername=apple&key=
but this works
From this comment:
Quote:
The 'user' and 'c' can be different with other channels, while
NASAtelevision is the user name, NASA is the channel name (not all
channels use for both the same name) thus
https://www.youtube.com/c/NASA/live, works both in upper case and
lower case. Although using 'c' with channel name indeed doesn't work
with some channels, id and user name works. The thing with these ways
is that you don't get to choose which one it redirects to for a
channel running multiple live streams, But it's ideal to verify that a
channel is live streaming and use the API to retrieve video ids of the
live streams.
The issue here is: the name of the channel might vary from the title of the channel and the value supplied in the forUsername field.
Example - for get the channel "Apple":
URL:
https://developers.google.com/youtube/v3/docs/channels/list?hl=es&apix_params=%7B%22part%22%3A%5B%22id%2Csnippet%22%5D%2C%22forUsername%22%3A%22Apple%22%2C%22maxResults%22%3A50%7D
Try-it here
Response:
{
"kind": "youtube#channelListResponse",
"etag": "9VyLxNhGdoRer4vpOzpnOw-fZus",
"pageInfo": {
"totalResults": 1,
"resultsPerPage": 50
},
"items": [
{
"kind": "youtube#channel",
"etag": "IeLWFmP61SBTDU_2_c9AYAQ1evQ",
"id": "UCE_M8A5yxnLfW0KghEeajjw",
"snippet": {
"title": "Apple",
"description": "Welcome to the official Apple YouTube channel. Here you’ll find news about product launches, tutorials, and other great content. \n\nApple revolutionized personal technology with the introduction of the Macintosh in 1984. Today Apple continues to be a global leader in innovation with products like iPhone, iPad, Mac, and Apple Watch. Our five software platforms (iOS, iPadOS, macOS, watchOS, and tvOS) provide seamless experiences across Apple devices. Breakthrough services include the App Store, Apple Music, Apple Pay, and iCloud. And Apple keeps pursuing innovation with products like HomePod, Apple Fitness+, and Apple Card. Apple’s more than 160,000 employees are dedicated to making the best products on earth, and to leaving the world better than we found it. \n\nAdditional products include AirPods, AirTags, Apple Arcade, Apple Books, Apple News, Apple Podcasts, Apple TV, and iPod touch.",
"customUrl": "#apple",
"publishedAt": "2005-06-22T05:12:23Z",
"thumbnails": {
"default": {
"url": "https://yt3.ggpht.com/ytc/AL5GRJVaP8qqhnaBvlgkQDRWDONrWTbpYSMOv7hwHI235w=s88-c-k-c0x00ffffff-no-rj",
"width": 88,
"height": 88
},
"medium": {
"url": "https://yt3.ggpht.com/ytc/AL5GRJVaP8qqhnaBvlgkQDRWDONrWTbpYSMOv7hwHI235w=s240-c-k-c0x00ffffff-no-rj",
"width": 240,
"height": 240
},
"high": {
"url": "https://yt3.ggpht.com/ytc/AL5GRJVaP8qqhnaBvlgkQDRWDONrWTbpYSMOv7hwHI235w=s800-c-k-c0x00ffffff-no-rj",
"width": 800,
"height": 800
}
},
"localized": {
"title": "Apple",
"description": "Welcome to the official Apple YouTube channel. Here you’ll find news about product launches, tutorials, and other great content. \n\nApple revolutionized personal technology with the introduction of the Macintosh in 1984. Today Apple continues to be a global leader in innovation with products like iPhone, iPad, Mac, and Apple Watch. Our five software platforms (iOS, iPadOS, macOS, watchOS, and tvOS) provide seamless experiences across Apple devices. Breakthrough services include the App Store, Apple Music, Apple Pay, and iCloud. And Apple keeps pursuing innovation with products like HomePod, Apple Fitness+, and Apple Card. Apple’s more than 160,000 employees are dedicated to making the best products on earth, and to leaving the world better than we found it. \n\nAdditional products include AirPods, AirTags, Apple Arcade, Apple Books, Apple News, Apple Podcasts, Apple TV, and iPod touch."
},
"country": "US"
}
}
]
}
And for the channel "Markiplier", you have to use the value "markiplierGAME" - you can try here.
As I mention in my answer, I don't find if this behaviour is documented and I rather user the channel_id while searching for channels/videos/etc.

How do pull in popular or trending videos from Instagram API?

Is there a way I can use Instagram's API to pull in popular or trending videos? I checked their docs, but didn't see a parameter that does this.

Unknown (undocumented) SONOS display type used in Spotify music-service on mobile devices

Even though there are already 2 other questions on the subject (this and this), no documentation have yet been provided by somebody from Sonos developer team.
The problem still remains: how one can attain a similar customised Spotify-like display type on Sonos mobile controller app. I'm talking about the root container of the Spotify music-service. It looks like this.
whereas the documentation clearly only talks about the grid, list, hero and editorial display types, none of which being the one used in Spotify music-service integration. Take a look:
grid
list
hero
editorial
The above 2 other questions I mentioned indicate that, as of April '18, Sonos developer team was working on enabling this experience, but, after almost 2 years, there is nothing AFAIK.
Thanks for help!
Sonos seem to have given up on developer support here. Spotify uses non-public features of SMAPI to customize its home screen, based on json instead of SOAP.
It seems like Spotify uses a different capability flag for this. In the music services discovery you can fetch from the player. You see they provide a json manifest.
As explained here, I suspect the capabilities field is a bitmask, where you can store one or more booleans in a single integer. You just have to figure out which one says, extended metadata (and send a PR on the documentation).
{
"Name": "Spotify",
"Version": "1.1",
"Uri": "https://spotify-v5.ws.sonos.com/smapi",
"SecureUri": "https://spotify-v5.ws.sonos.com/smapi",
"ContainerType": "MService",
"Capabilities": "5310995",
"Manifest": {
"Version": "12",
"Uri": "https://mnfts.ws.sonos.com/p/spotify-manifest.5.json"
},
"Id": 9,
"Policy": {
"Auth": "AppLink",
"PollInterval": 300
}
},
Other services should be able to provide a similar experience.
I’m not connected to Sonos, I just written a extensive documentation page about local control off Sonos speakers.

Is it possible to run chat bot written in apps-script as "me"

It is possible to deploy the app scripts projects as web apps and execute them as script owner ("Execute the app as me").
I don't see something like this for chat bots.
I looked here https://developers.google.com/hangouts/chat/how-tos/bots-apps-script#authorization
It would be nice to have something like in appscript.json
{
"timeZone": "Europe/Paris",
"dependencies": {
},
"exceptionLogging": "STACKDRIVER",
"chat": {
"executeAs": "USER_DEPLOYING"
}
}
Is it possible?
Update: created a feature request https://issuetracker.google.com/issues/74233022
As of now Hangouts Chat currently does not have this feature. The best way to have this pushed to Hangouts Chat is probably by filing feedback via https://issuetracker.google.com/issues/new?component=350158&template=1047215 and hope that it gets enough upvotes.

Workaround for new Instagram API restriction for tagged content

I built a module for my company's marketing team to fetch all the photos based on a hashtag. Such as #nofilter.
I was using the URL https://api.instagram.com/v1/tags/nofilter/media/recent with no problems until Instagram decided to change their API authentication to OAuth.
I followed the new guidelines but my client is still in sandbox mode and the API call doesn't return anything anymore. All it returns is:
{"pagination": {"deprecation_warning": "next_max_id and min_id are deprecated for this endpoint; use min_tag_id and max_tag_id instead"}, "meta": {"code": 200}, "data": []}
It seems like I need to submit my application to be reviewed before going live. But this doesn't seem possible, based on what i found from their submission guideline below. Is there any workaround for this?
====== UPDATE July 8th, 2016
I have found one of those 3rd parties that instagram mentioned, but the pricing is awful https://www.dialogfeed.com/pricing/
189 euros per month seem a bit steep
I had to deal with this. Their documentation is pretty unhelpful and doesn't seem to offer any solution for someone just wanting to collect relevant links, which should be no prob.
Fortunately, the script on an Instagram page provides easy access to their structured data. In my rails app I create a headless browser and just hit their url. I provided my solution as an answer to another question:
https://stackoverflow.com/a/38572893/4888422