2011-06-27 8 views
3

私はSpotifyのAPIを使用する必要があります。クライアントは、登録ユーザーに代わってspotifyに接続するspotifyアプリケーションを用意する必要があり、すべてのプレイリスト名とその曲をそれらのプレイリストのtxtファイルを作成します。 私はどこから始めればいいのか教えてください。私はそれをPHPでやる必要があります。ユーザーのプレイリストを取得するためにapiを特定する

おかげ

+0

あなたは、その上に任意のものを検索しましたか?あなたはこれについてどのようなデータを見つけましたか? –

+0

私は検索が、すべての関連情報は、これらをチェックアウト – Asghar

+1

見つからないは、http://www.spotify.com/fi/about/spotify-on-the-web/developer-resources/とhttp://code.google.com/p/metatune /とhttp://code.google.com/p/metatune/wiki/FeatureList –

答えて

1

問題は、単にplaylist.bnkファイルをバックアップすることによって解決しました。 playslistsコメントで述べたように

+0

ファイルは実際にplaylist.bnkと呼ばれています – Framester

2

用のファイルが含まれて、不幸ではないオープンソースlibspotifyを使用して周りに旋回コードがたくさんあります。 APIのサンプルが提供され、すべてのプレイリストを繰り返し処理する方法を慎重に省略しました。

あなたが楽しんでるに接続することができる何かをしたいことを言及(オンラインAPIは、Spotifyは、誰もが使いたいものを確かにある)が、私は同じことはオフラインで実行することができますかなり確信しています。あなたが言ったように、ファイルをバックアップすることができます。

〜/ .configを/ Spotifyは/ユーザ/名前/

または

{USER_APP_DATA}/Spotifyは/ユーザ/ {USER_ID}

あなたはおそらくすでに次のことができますに位置

私ができることやできないことへのアクセスを制限する私有ライブラリのファンではないと伝えてください。だから私はすべての保存されたプレイリストの名前を印刷することができる簡単なプログラムを思いついた。これは、通常、プレイリストごとに1枚のアルバムを追加するので十分です。

私は個々のトラックを含めるようにさらに開発することができますかなり確信しています。

#include <fstream> 
#include <iostream> 
#include <sstream> 
#include <vector> 

int main(int argc, char *argv[]) { 
    std::vector<char> vbuf; 
    unsigned int len; 
    std::vector<char>::iterator bpos,dpos,epos; 

    std::ifstream in("playlist.bnk", std::ios::in|std::ios::binary); 
    if (in) { 
     in.seekg(0,std::ios::end); 
     len = in.tellg(); 
     vbuf.resize(len); 
     in.seekg(0,std::ios::beg); 
     in.read(&vbuf[0],len); 

     for(std::vector<char>::iterator it = vbuf.begin(); it != vbuf.end(); ++it) { 
      if (*it == (char)0x02 && *(it+1) == (char)0x09) { 
       bpos = it+3; 
      }                       
      if (*it == (char)0xE2 && *(it+1) == (char)0x80 && *(it+2) == (char)0x93 && bpos != vbuf.end()) { 
       dpos = it; 
      }                       
      if (*it == (char)0x18 && *(it+1) == (char)0x01 && *(it+2) == (char)0x19 && dpos != vbuf.end()) { 
       epos = it; 
      }                 
      if (bpos != vbuf.end() && dpos != vbuf.end() && epos != vbuf.end()) { 
       for(std::vector<char>::iterator it2 = bpos; it2 < dpos; ++it2) { 
        std::cout << *it2; 
       }                
       for(std::vector<char>::iterator it2 = dpos; it2 < epos; ++it2) { 
        std::cout << *it2; 
       } 
       std::cout << std::endl; 
       bpos = vbuf.end(); 
       dpos = vbuf.end(); 
       epos = vbuf.end(); 
      } 
     } 
    } 
} 
+0

こんにちは@カスリン、残念ながらあなたのコードは動作を停止しました。ちょうど「ランダム」な曲が出力されます。それを更新したり、実装した方法に関する情報を投稿したりできますか?私は解析を理解していません。ありがとう! – Framester

関連する問題