クラスの割り当てでは、コマンドと引数をとり、APIからデータを返すSiriのようなプログラムを作成する必要があります。テキストファイルから読み込み、そのファイル内のコマンドを実行して特定の曲のデータを取得します。私はFSモジュールを使ってファイルを読み込む方法を理解していますが、実際にはコマンドを実行して実行する方法を理解することはできません。これまでのコードをSelect CasesとFunctionsに分割し、テキストファイルに何が入っているのかを知ることができました。これは私の最初の投稿であり、全体のコードが何が起こっているのかをよりよく理解できると思っていました。 。 Node.JSを使用してテキストファイルからコマンドを発行する
var keys = require("./keys.js")
var twitter = require("twitter");
var omdb = require("request");
var spotify = require("spotify");
var fs = require("fs");
var liriCommand = process.argv[2];
var searchTitle = process.argv[3];
var twitterKeys = keys.twitterKeys;
var twitterUser = new twitter({
consumer_key: twitterKeys.consumer_key,
consumer_secret: twitterKeys.consumer_secret,
access_token_key: twitterKeys.access_token_key,
access_token_secret: twitterKeys.access_token_secret
});
//console.log(twitterUser); okay keys working
//Switch cases to call function based on liriCommand entered.
switch(liriCommand) {
case "my-tweets":
myTweets();
break;
case "spotify-this-song":
myPlayList();
break;
case "movie-this":
myMovie();
break;
case "do-what-it-says":
randomPick();
break;
}
//Function for pulling in last 20 tweets
function myTweets(){
twitterUser.get('search/tweets', {q: 'burgeoningbaker', count: 20}, function(error, tweet, response) {
if(error){
console.log(error);
}else{
console.log(tweet);
}
});
};
//Function for pulling in artist, song name, link to song and album with song via Spotify
function myPlayList(){
if (!searchTitle){
searchTitle = 'The Sign';
}
spotify.search({type: 'track', query: searchTitle}, function(err, data){
if (err){
console.log('Error occurred: ' + err);
return;
}
//Handle Data
var albumTrack = data.tracks.items;
for (i=0; i < albumTrack.length; i++){
console.log("Artist: " + albumTrack[i].artists[i].name);
console.log("Album Title: " + albumTrack[i].album.name);
console.log("Spotify Link: " + albumTrack[i].preview_url);
console.log("Track Title: " + albumTrack[i].name);
// } else if (!data && !err){
// myPlaylist('The Sign');
}
};
};
//Function for using request to get OMDB movie information from movie object
// Move Title, Year of release, Rating, Country, Language, Plot, Actors, Rotten Tomato Rating, URL
function myMovie(){};
// Function to fire off if typed do what it says
function randomPick(){
fs.readFile("random.txt", "UTF-8", function(error, data){
if (error){
console.log(error);
}
console.log(data);
});
};
この
は
はいmyPlayListの初期機能は、Spotify APIで検索するトラックのコマンドライン引数を取ることです。コマンドが曲のタイトルなしで発行された場合は、デフォルトでThe Signを検索します。最後のケースは私の焦点です。それが呼び出されると、テキストファイルを調べてそこにあるコマンドを発行し、私がそれを望むトラックを検索する必要があります。 私は実際の割り当て手順を掲載したくありませんでしたが、事態をより明確にすることができます。 – Matthew
right - 私の前のコメントを参照してください - あなたのmyPlayList関数は、コマンドライン引数以外のパラメータを取ることができません。あなたの解決策は、そのようにするために修正することです。 – Conan
これが当てはまる場合は、そのファイルにアクセスしてコマンドを発行することに戻ります。ここでは何をすべきかに関する指示があります... node liri.js spotify-this-song '<曲名はここ>' *端末/ bashウィンドウの曲に関する次の情報が表示されます *アーティスト *曲の名前 *曲が指定されていない場合は、プログラムはデフォルトで * Ace of Base – Matthew