I'm trying to make a new application that will help people hear music together.
One problem I noticed is that the people need to get the YouTube code of each song or video they want to hear.
I kind of fixed this problem by using MySQL database with names and codes of songs, then all what the user need to do is to find the YouTube video and click on share with my application, it sends the link and the name of the video to the database and then users can search there for the song they want to play. However, I want to get rid of that, too.
Is there some way to search for a video on YouTube with the API?
I found this link to open source code on Google Developers https://developers.google.com/youtube/v3/docs/search/list#examples
But it just doesn't work.
You can use this:
https://www.googleapis.com/youtube/v3/search?part=snippet&q=eminem&type=video&key=<key>
Change the parameters to get what you actually need, but you need an API key from https://console.developers.google.com/ to make this work.
https://www.googleapis.com/youtube/v3/search?key={your_key_here}&channelId={channel_id_here}&part=snippet,id&order=date&maxResults=20
you can use above url for searching videos.
Related
I'm a beginner and I’m working on an android project in which I play youtube videos using Google YouTube data API.
Is it possible to play the video in the background even after the user has switched to another app or pressed the home button?
Is it possible to separate the audio from the video and stream that in the background?
I don't want to use web view.
It is possible to play the audio in the background.
However , you are not allowed to do so.
This violation of the Youtube API is cause for immidiate removal from the play store.
Official answer:
During review, we found that your app violates the Prohibited Actions provision of the Content Policy.
We have determined that your app enables background playing of YouTube videos, which is a violation of the YouTube API Terms of Service:
"Your API Client will not, and You will not encourage or create functionality for Your users or other third parties to: (8) separate, isolate, or modify the audio or video components of any YouTube audiovisual content made available through the YouTube API;"
youtube red users only they possible to play youtube videos in background (https://support.google.com/youtube/answer/6308116?hl=en). You can check if they have this in the api,
its possible to play youtube videos in background if you open the desktop version of youtube in a browser.
Maybe you can make use of this by opening the correct link in a webview in background
Yes its possible and its easy. No installation, no root, no violations. Let me explain it.
Andriod 9 --> Settings --> Search Picture in Picture --> select YouTube --> Allow
Once Allow picture-in-picture is enabled. You can run YouTube in Background.
I got another idea, but not sure will it violate the rule.
You can build your own service base on youtube-dl. More explain step by step:
First you got the url of the video from Youtube
Second you extract the audio information from the origin video url, and you now get the audio source via youtube-dl
Play the audio source in the background
In this way you are not using the Youtube api directly, I think it's fine to only use the audio from the source and play it in the background.
I'm working on a Xamarin project that uses YouTube API v3. I'm able to play videos but I want to display separately some metadata like view's counter, video name and publishing time. Is there any way to get this information?
Any help would be gratefully appreciated.
You can use YouTube API v3 itself, take a look at the Videos Docs. The resource returns a JSON blob, and you'll find the view count under statistics.viewCount.
I'm working on a music application for Android.
I need two things:
Get album cover for artist, album name, track name, etc;
Open Google Play page for buying this album.
For the first thing I'm currently using iTunes API -- but this is not patriotic for true Android developer. If Google Play Music has similar service, I would preferred to use it. Does it exist?
What about second? I can use this code to show all search results according with my query:
Intent intent = new Intent(Intent.ACTION_VIEW)
.setData(Uri.parse("market://search?q=<My Query>"));
startActivity(intent);
But I want to show album or track buying page exactly. Is is possible for Google Play?
There's no official API for this from Google.
However, you can use an unofficial API that is being developed by Simon Weber. It's called Unofficial-Google-Music-API, and it seems to be actively maintained(as of this writing).
The documentation and examples are pretty straightforward, and you can find details about the song's metadata as listed here. Specifically, it gives an url to download cover art and the id for matching in the Play Store.
You may have to play around with the URL a bit for your search, though. For instance, you can use the returned albumMatchedId field to search by album like:
https://play.google.com/store/music/album?id=Bdkf6ywxmrhflvtasnayxlkgpcm
This should bring you to the album's page, where you can purchase each song or the entire album.
I haven't found a way to jump straight to a specific track, but I'm not sure if that's possible anyway, judging from the layout of the app.
For e.g.:
http://www.youtube.com/watch?v=7HKoqNJtMTQ#t=1m25s
It works but when I add it to the Google Play (promo video option) it seems that #t=1m25s part is being ignored.
Is there any other way how to archieve the exact same behavior but with different URL?
One thing I see immediately wrong is the #. That should be a &.
http://www.youtube.com/watch?v=YGV92nxP_N0&t=1s
i want to display all the videos uploaded by a user, say cnn,
in my own android app, i will have a webview, and when user clicks on this video (cnn), it will play that particular youtube video in android's native video player, once video finishes, it will return to my app (webview where user lastly clicked)
my question is, which part of the google youtube data api should i feed to the intent? using the example below?
https://developers.google.com/youtube/2.0/developers_guide_protocol_understanding_video_feeds#Understanding_Video_Entries
can someone give me a CONCRETE example, no abbreviation or whatsoever, a link i should put in the intent?
i am confused because examples i found has .mp4 extension etc, which android will understand the intent that a video is requested to play.
but in the link provided above, there is no link to the raw file, i.e. no URI ends with .mp4
please help
By going thorough the documentation about youtube api and testing the demo App i think in-order make a app using youtube-api need
1) Developer key
2)Phone installed with latest version of youtube application (i think Actually youtube-api use some supports of youtube app to play video)
3)By using this api video will stay inside your app. but it use support from youtube app to play video
Note:- if am wrong Correct me