Skip to content
This repository has been archived by the owner on Jan 31, 2020. It is now read-only.
/ Google.Music Public archive

An Unofficial Google Play Music API written in C#

License

Notifications You must be signed in to change notification settings

coman3/Google.Music

Repository files navigation

Google Play Music API Written in C Sharp (C#)


PROJECT DEAD - Google Blocked.

Google as blocked any packet tracing / decrypting from their mobile app, preventing me to continue updating this API. I have been unsuccessful in bypassing this protection, and don’t see it becoming something I can do in my spare time anymore… Sorry for any inconveniences.


Build Status: GoogleMusicApi MyGet Build Status

An Unofficial Google Play Music API Developed from the Google Play Music Android App (GoogleMusicApi.Common.MobileClient).

Documentation / Support

Please go checkout the Wiki it contains an overview and some guides on how to get started with using Google Play Music API.

Installation

NuGet

  • .NET 4.5.2+ / UWP (Windows 10): Install-Package Google.Music.Api

Manual Reference

Usage

Checkout the Wiki for full information, but basic usage (getting a stream URL) looks like:

// ### Login ###
var mobileClient = new MobileClient();
if (await mc.LoginAsync("[email protected]" /* can also be "iAmARandom" */, "randomPassword1"))
{
    Console.WriteLine("Logged In!");

    // ### Get Listen Now Situations (What you see when you first open the app) ###
    ListListenNowSituationResponse listenNowSituations = await mc.ListListenNowSituationsAsync();

    // ... Get Data from listen Now Situations ...

    Track track = /*  collected track from something */;

    // ### Get Stream Url ###
    Uri url = await mc.GetStreamUrlAsync(track);

    // ... Do what ever you want with stream URI ...
}
else
{
    Console.WriteLine("Login Failed!");
}

Contributing

Any Contribution is greatly appreciated and will be fully documented and credited. If you wish to contribute to this project please go ahead :)

If you don't know what to do, there is a massive list of `TODO (): ` lines, specifying what needs to be done, plus bug testing is always greatly appreciated.

Thanks for your help in advance :)

Get In Touch

If you have any questions don't hesitate to email me at [email protected] or leave an issue.