Skip to content

Instantly share code, notes, and snippets.

@Largo
Created November 11, 2017 16:09
Show Gist options
  • Save Largo/a8961f67c8ab8708334b60890da1e575 to your computer and use it in GitHub Desktop.
Save Largo/a8961f67c8ab8708334b60890da1e575 to your computer and use it in GitHub Desktop.
<?php
require_once('TwitterAPIExchange.php');
function getLastPlayedSong($username, $apiKey) {
$url = "http://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&user=" . $username .
"&api_key=" . $apiKey ."&format=json";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$rawData = curl_exec($ch);
curl_close($ch);
if(!$rawData){
return "";
}
$data = json_decode($rawData);
$recenttracks = $data->recenttracks;
$track = $recenttracks->track[0];
$artistData = $track->artist;
$artist = $artistData->{'#text'};
$track = $track->name;
return "$artist - $track";
}
$settings = array(
'oauth_access_token' => "", // Get this from your twitter app. it's the one under 'Your Access Token'
'oauth_access_token_secret' => "",
'consumer_key' => "", // also get this from your twitter app
'consumer_secret' => "",
'lastfm_username' => "YOUR LASTFM USERNAME",
'lastfm_apikey' => '' // create a last.fm app https://www.last.fm/api/account/create
);
$url = 'https://api.twitter.com/1.1/account/update_profile.json';
$requestMethod = 'POST';
$songname = getLastPlayedSong($settings["lastfm_username"], $settings["lastfm_apikey"]);
$postfields = array(
'name' => 'YOUR USERNAME' . $songname, // 50
);
$twitter = new TwitterAPIExchange($settings);
echo $twitter->buildOauth($url, $requestMethod)
->setPostfields($postfields)
->performRequest();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment