Get currently playing video in Youtube - firefox

I need to get the title of the currently playing video in my Firefox browser from an external app using youtube API, or at least my last played video in my YT account. The goal is to get the name of the song i'm listening to and putting it in a file. I've got another app (using Discord API) that will read it and use it.
My first idea was to get the watch history, but this function was removed from the API since late 2016.
I managed to authentificate my Google application to access my own channel with Oauth 2.0, but from here I'm stuck. There don't seem to be any request that gets your own last watched video.
I also thought of a completely different way, by using a Firefox extension to get the title, but storing it and passing it to the other app will not be an easy thing (localStorage and sessionStorage are both in AppData folder, and my other app can't access it).
Does anybody know a way to do this? I'm starting to be kind of desperate.

I was looking for something similar and came across this in my search: Cross-Domain Cookies
Sharing cookies between 2 applications via a 3rd party might be of help here although it would complicate things.

Related

YouTube v3 API PHP - Add Playlist Server to Server

All I want to do, with PHP and google-api-php-client, is create a new playlist and add it to my YouTube Channel server to server. All guides seem to require me manually clicking a link generated to authorize a token. What?!? With an API key shouldn't I just be able to do server to server changes/uploads/edits without any need of human interaction?
I enabled the API, created API Keys and OAuth ID/Secrets, but still can't figure out how to do it.
Any guide would be appreciated. Server to Server, with PHP, without me needing to open the file in a browser to allow access to account.
Thanks
Tried this: https://developers.google.com/youtube/v3/code_samples/php for adding a playlist and can't get it to work, even after clicking the link and allowing access to account.
You want to start learning something called OAuth. Don't worry, it's only sounds scary. I'll try and ease it a bit for you. But before I begin, no amount of loitering around avoiding that OAuth thing is going to get you anywhere. Good news is: it's not that twisted.
Imagine you were YouTube. An application, say a web application someone wrote that you didn't know about were to come to you making an HTTP request on you.
The request were to say, "Hey, YouTube chum! Can you add this bunch of erotica to John's playlist and just make it all public for everyone to see?"
What would be your response?
If I were YouTube, mine would be --
"Yeah! fook you, dude! Go ask John first! Then, show me some proof that you did."
"And wait a second, before you leave, I forgot to ask, who the fook are you, in fact? You got something to show me for who you are?" I, the YouTube, would add.
You see the problem? For YouTube, there are really two parties involved in this transaction:
The application that's making the sleazy request; and
Poor John, who probably knows nothing of all this even when he should.
Otherwise, what's to stop any application asking YouTube (or Facebook or Google or Github or any place else) for John's data?
So, as far as YouTube is concerned, it needs a way for the application to authenticate itself with YouTube (thus the Application Id and Client Secret or App Secret you created on the Google Developer Console), and it needs John's permission to let the said application do what it is asking you (YouTube) to do (thus the need for John to interact with a UI).
Enter OAuth.
OAuth is a document of rules that allows this co-operative transaction. But for it to work, all the three, YouTube, the web application, and John, must first conspire together.
There are three parties in OAuth:
The OAuth server -- that has John's data. In this example, it was YouTube.
The third-party application that wants to do something with John's data that's kept on the OAuth server, i.e. YouTube.
Poor John, a user on the OAuth server (YouTube), and also wanting to use the third-party Web application that wants YouTube to do something with John's data.
Now, there's a whole lot to learn about OAuth before you write a single line of code, and I can't write it all here but here's a YouTube playlist that starts by explaining the very basics of OAuth and then provides demos in (sorry, no PHP) C# and also in JavaScript.
Once you understand the OAuth transaction mechanism and see some code, then re-visit the YouTube API documentation page you linked to and it'll start to make an enormous amount of sense. It'll click and you won't need to look any place for help writing that example. It'll just come out of you like poop. :-)

Share private video to some google accounts through API

I'm trying to figure out wheter it is possible to have a private video on youtube that I could share with particular Google Accounts through API.
I would have a separate web application that would have a Google signup and after signup I would enable that Google Account to watch my private video.
Ideally I would also want to embed the video to the web application (but I think I can do this rather easily if I'm an owner of the video).
Ispossible to have a private video on YouTube that I could share with particular google accounts through API.
No you cant directly share a video with another user like you could a file on google drive.
You could show the video on your own site, but I am not sure its something I would want to try. The thing is being that its a private video you and you alone have access to see it. Your going to have to authenticate your application and get a refresh token back which will allow you to access the account and the videos on the account.
Then you will be able to use that refresh token to get an access token to show other people the video via your website. The problem you will have is if the refresh token stops working (rarely happens but can happen) you will have to authenticate it again before your solution will work.
Note: Service accounts don't work with YouTube API. So don't bother going down that road.
If you know the ID of a video, you can access it. You can share the ID,or an embedded link with someone.
The api only hides the info, not blocks it. So you would need to hold the info elsewhere for referencing.
So as long as you know the id's of the related video's, you can do what you want with them.
However, if you are wanting to monetise them on the side, I would recommend against it. Best to read the user agreement you have with YouTube.

Can't link google play game services to an app because the client id is in use. However there is no app using that id

I'm trying yo update a game on google play to support leaderboards and achievements. (https://play.google.com/store/apps/details?id=com.rightpedalstudios.dragonseason)
However, when I go to link the app I get the message "This client ID is globally unique and is already in use."
I've searched online for people who have had the same problem and the advice they are given is to delete the client ID in the developer console, and if the app has been deleted there then undelete it first. However, there is nothing in the console using the ID, nor is there any deleted apps. As far as I can tell there is no app using the client id.
I did find another person asking a similar question here that was never answered.
Failing to create client ID, due to duplication of signing fingerprint by another Android OAuth2 client
I also get the message "The signing fingerprint you specified is already used by another Android OAuth2 client." When I try to set up a client ID from the developer console. (I know I'm not meant to do that if I'm using google play games, I just wanted to check if it failed from there too.)
I've tried contacting google support, I was directed to the google API support, and then directed here.
Two other developers that have worked on this project could have somehow created a client ID. Although I have contacted them and neither of them recall creating one.
Is there anyway to find out where this client ID is being used?
You have to delete the client id in the Google API console (now confusingly renamed the Google Developers Console !). Then you can link the app to the game straight away. I have just done this, and it worked fine for me. I wanted to link an existing app to a different game, so I deleted both the debug and prod(release) definitions and was able to immediately link the app to the new game.
Note that for many of us, doing work on Google Play Game Services in the Google API console is a last resort - many of us have encountered Google related bugs in the past by doing this !
This image may help:

How to use Google safe browsing lookup API

I've just stumbled onto Google Safe Browsing lookup API and will admit this seems to be a bit above my head, but I still would like to learn how to use it.
I've read through the get-started documentation, but I am still confused on where to actually begin.
I've created an API key to access it, which gave me a link.
I've pasted that link into Google Chrome, and it downloaded a file, which I opened in Google Chrome on my Win 7 machine.
This is where I am stuck, where is the API?
How do I actually paste URL's into the API to see if they are malicious or not?
So, if you're still wondering about this 6 months later an API is a way of interacting with a site not through your browser. You don't need to worry about it if you're using Chrome or Firefox since the browser will do it for you.
However, you know how a website for a bar will have a small google maps box with the map of the area? The application (website) sent a get request to the Google Maps API. The simplest way you do this at home is with your terminal or command line. That's where you would type in the url you're trying to check.

How to consume Facebook's "autocomplete anything" suggest-style dropdown

When you go to edit your favorite music or movies on Facebook, you will notice an autocomplete suggest list that is basically a list of "everything" (brand names, music artists, movies, etc.) How can someone consume that list in their own code? Is it part of the Facebook API?
They wrap some of the functionality in their FBML fields, but their developer wiki shows how they do what they do. If you want to consume their data though, you're going to have to play with an HTTP proxy and figure out what parameters to send to their server. There are also a couple parameters that seem to be session based, so I don't know how well you're going to be able to integrate this into your own application.
This was working for awhile, but now they require the session cookie, so we'll have to hope they add support for this to the graph api, unless you want to fight w/ the proxy.

Resources