Get list of Offline/Saved Videos through YouTube API - rest

I need some help to get list of videos which is downloaded(or taken offline) by a user.
Does YouTube Rest API provide us any API to get list of saved video?

AFAIK, you will not be able to list offline videos from other users, even your own offline videos. This stack exchange post discussed the reason.
Those "offline" videos can only be played using official YouTube App,
and those videos simply can not be played using any other Video/Media
player application.
YouTube (means Google) controls the access to the offline file.
The permission is controlled on their server to access those
downloaded files and Since they are part of specific device, you
cannot access/view those using Google Account, from another device.
But if you want to list videos in youtube api, you can refer to this documentation.

Related

About placing other people's Youtube videos in my Flutter app using "youtube_player_flutter"

I'm currently building an app in Flutter.
I'm using a package called "youtube_player_flutter" to put other people's Youtube videos in my app.
Does "placing videos in the app with youtube_player_flutter" mean "embedded videos" as Youtube calls them?
I'm talking about copyright-related issues.
Is it the same as embedding a video in a website?
Youtube allows embedding of other people's videos, so as long as the owner (uploader) of the video allows embedding, others can embed without permission.
(If the owner doesn't allow the embedding, others can't embed.)
Is it safe to assume that placing a Youtube video in an app (using youtube_player_flutter) is the same as embedding it in a website?
Well, of course, in that case, if the video owner deletes the video, the corresponding embedded video in my app will also become unwatchable.
You need the api for videos obviously. And youtube providing thier api to open developers to use. you just need an api key for that.
go and follow the api doc with legal procedure, there will be no copyright issues. youtube api doc

Securely Streaming Videos in Flutter with MongoDB based on authorization

I am working on a video streaming platform where I only want to allow premium users to access certain videos. I can store videos in CDN and save their URLs in MongoDB but that would give access to the video to everyone having that link. Is there any way to implement this in flutter based on authorization?

How to use Google Api to upload to a single Youtube channel on a User-less app

I'm building an app that will allow users to upload videos to my Youtube channel. I have checked online about using Google Api to access the data/upload videos, but all references and examples seem to assume videos will be uploaded to the user's youtube channel, hence the process always involves using OAuth to gain approval from the user.
However, in my case the only youtube channel all users will access is mine. And I'm not even asking them to create an account on my app to upload the videos. Is there a way to do this directly from the app.
My app is an iOS app, but if you have a solution in any other language, I welcome your suggestion.
Thanks in advance
I had the same problem not so long ago. Youtube Documentation doesnt make it easy. Even though you getting access to your own Youtube channel, You still need to be authenticated using OAuth. Google makes hard for you to be vulnerable to attacks.
My solution is using a server side(API) application. What you can then do is make your iOS app hit the API.
So the tricky thing is getting the refresh token. Its hardly documented anywhere. What you can then do is follow documentation of your preferred language for the API.
The documentation can be found here https://developers.google.com/youtube/v3/guides/auth/server-side-web-apps
Get the Refresh token:
Step 1 : Hit this url in the browser https://accounts.google.com/o/oauth2/auth?client_id=ClientID_Here&redirect_uri=urn:ietf:wg:oauth:2.0:oob&scope=https://gdata.youtube.com&response_type=code&access_type=offline
It will make you log in using your youtube credential which is your google account.
You will then have to agree for google to access your account by clicking allow.
At the end it will give you a code.
Step 2 : You should then authenticate using a clientless platform.
(eg instead of browser) Use curl instead. (There plenty of 3 minute tutorials on how to use curl)
Hit this url endpoint :
curl https://accounts.google.com/o/oauth2/token -d "code=CodeFromGoogleOAuth&client_id=ClientIDHere&client_secret=ClientSecretHere&redirect_uri=urn:ietf:wg:oauth:2.0:oob&grant_type=authorization_code"
You should then get a refresh token in the response.
There are alot of examples of how to upload from then on like
https://developers.google.com/youtube/v3/code_samples/dotnet
In the example above you have to avoid using the GoogleWebAuthorizationBroker use Googles one instead. Look for RefreshToken Field
It is not possible to allow third parties to upload videos to a single YouTube account with the YouTube Data API, and that is by design. See this Google Blog, explaining "It’s tempting to design a system in which all videos are uploaded to a single “master” YouTube account, but this is always the wrong approach."
A potential workaround is to use YouTube Direct Lite, which allows you to easily build and moderate a playlist on your YouTube account comprised of videos uploaded by your users on their accounts.

Creating widget for product website

I am not sure if i am asking this correctly or the terminology are correct but it is according to my understanding. I am developing a video hosting website and i want my users to share those videos to social network and may be embed them on their website. What i like is when they share those videos, in their feed they should be able to play those videos without leaving the their current social networks, its just like youtube, when i share videos on twitter or facebook i can play youtube videos from there without opening the youtube site. Where should i look into to build such widget ? How do i create such?
Make sure that the pages the videos reside on that are shared contain valid and correct OpenGraph tags.
Have a look at
https://developers.facebook.com/docs/reference/opengraph/object-type/video.other/
https://developers.facebook.com/docs/sharing/opengraph/using-objects
https://developers.facebook.com/docs/sharing/best-practices

Using Facebook for an online magic contest (Video upload /

I am currently developing a new website / facebook app for an online magic competition. I am hoping most of the functionality can come from Facebook's own services, and would like your feedback on how plausible our goals are.
Essentially there will be two types of users: magicians and voters. Magicians will upload a video of them performing a trick (or select a video they have already uploaded). Voters will vote for their favourite magicians, and be able to post these videos to their wall.
Are these possible:
Video upload to Facebook - I have had a search, but the only method I found uses the depreciated REST API. Is there a newer implementation?
Video download - After a user has uploaded a video are they (or can we) able to download their video from Facebook?
Embedding magicians Facebook videos on the standalone website?
Thank you in advance
You can still upload videos and photos using the graph api. We have done this into galleries for a number of clients.
see here for a picture example (works with other media objects such as videos):
Is it possible to post a status update and adding an image file with facebook graph API?
The problems you may face though are the issues of managing and approving content in the site.
One solution we have found is to combine YouTube API and Facebook to get the best of both worlds. you can now embed a YouTube uploader in your site / app which will post videos into a channel of yours but have an approval app to control what lands. Then add any voting mechanism of your choice to the stream of videos. You can use YouTube likes, Facebook likes or your own. Take a look at this video:
http://www.youtube.com/watch?v=u1zgFlCw8Aw
You can embed a YouTube channel into Facebook easily too:
http://www.youtube.com/watch?v=pClpKAnddGI
Also using youtube, you can spread your net farther to reach more of an audience.
Hope this can be of some help. (No, I don't work for YouTube just find using more than one platform better)