問題タブ [grooveshark]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
facebook - グルーブシャークの音楽 URL を Facebook の音楽ウィジェットと共有するにはどうすればよいですか?
Facebook API を介して Facebook に Grooveshark の URL を投稿しようとしていますが、たとえばhttp://grooveshark.com/#!/s/~/4C47F9 (API を介して) を共有するたびに、正しく再生できません。 Facebook では、その音楽を再生している音楽ウィジェットを含む Web ページにリダイレクトされます。
しかし、上記のリンクをコピーして Facebook に貼り付けると、Facebook ですぐに音楽を再生できます。
どうしたの?投稿時に「url」フィールドを使用しています。
自分で試してみてください。
Objective-C フレームワークを介して facebook api を使用しています。コードは次のとおりです。
python - Groovesharkが接続を早期に閉じる(httplib.BadStatusLine)
グルーヴシャークに接続しようとしています。このPythonは、私の選択した言語です。しかし、私はレンガの壁にぶつかりました。グルーヴシャークが最近プロトコルの一部を変更したように見えるか、Pythonの制限に達した可能性があります。
私はgithubのJackTheRipper51と「一緒に」作業しています。彼は、grooveshark用にこのライブラリを作成しました。https://github.com/jacktheripper51/groove-dl 実際にはライブラリではありませんが、すぐにライブラリに再コーディングしました。
今週の初めにそれはうまくいきました、そして私はそれを私のプロジェクトに使うことができました。しかし、2日前にgetToken関数で失敗し始め、httplibが戻り始めましたhttplib.BadStatusLine: ''
。これは、私の調査によると、サーバーが接続を早期に閉じたことを意味します。
この調査から、groovesharkのjavascriptとflashソースを調べ始めましたが、それでも価値のあるものは何も返されませんでした。だから私は、逆コンパイルされたアクションスクリプトを5時間かけて、以前に行をコーディングしたことがないという正気の人なら誰でもできることをして、groovesharksサーバーのせいにしました。
具体的には、groovesharkがConnection: close
ヘッダーを特徴とする接続を拒否する可能性があると考えました。REST Console
そのため、Chromeの拡張機能でテストすることにしました。
Pythonスクリプトにエンコードしていたjsonをダンプさせ、それをRest Consoleに貼り付け、POSTを押すと、期待どおりのデータで正常に返されました。私は今、自分が正しいことは不可能ではないと確信していました。
私の次のステップは、私が持っているhttplib2(サポートしているConnection: keep-alive
)でコーディングすることでしたが、問題は解決しません。
私はwiresharkでテストしました(httpsでSSLを削除すると、送信されますConnection: keep-alive
。これにより、groovesharkが応答しますが、https required
)
コードのごく一部のみを変更しました。
完全に変更されたgetToken()
httplib2が初期化するものを追加しました:
httplib2をインポートしました:
また、jsonコンストラクターの名前を変更しました。これは、より説明的なものが必要だったためです。
完全なトレースバックは次のとおりです。
BadStatusLineの原因と、それを修正するにはどうすればよいですか。
PS私は、これが壊れる前日に彼らが8時間の会議を行ったことを知っています、私はあなたにこれが議題にあったに違いありません。
更新:JackTheRipper51は、送信内容に関係なく、grooveshark.com/more.phpへのすべてのSSLリクエストでこれが発生することを通知しました。これは、Pythonが私たちにトリックをプレイしていることを信じさせます。
更新2:
JackTheRipper51は、それが確かにpythonであることを私に知らせました。これが彼の投稿です:
私はCをまったく必要としませんでした。憤慨する準備をしなさい。シンプルな
ボックスは私にトークンを手に入れました...jsontestはここにあります
jsonが構文的に正しくない場合でも、常に少なくともいくつかのヘッダーを返します。それはずっとPythonでした...
残っている唯一の質問は、なぜpythonがこれを行っているのかということです。
javascript - tinysongから曲を取得する
Groovesharkから取得するtinysongAPIを介して曲のリストを取得したくないのですが$.ajax
、これまでのところ、これを取得しています。
彼らが私に割り当てkey
たAPIキーです。次のエラーが発生します:
リソースはスクリプトとして解釈されますが、MIMEタイプtext / htmlで転送されます:"http://tinysong.com/s/Beethoven?format=json&key=HERE_IS_MY_KEY&callback=jQuery172021696692402474582_1344209008518&_=1344209008523"。
ただし、そのURLにアクセスすると、次のように結果が出力されます。
[{"Url": "http://tinysong.com/Aoxo"、 "SongID":25802452、 "SongName": "Symphony No. 7 in A major、Op。92:Allegretto"、 "ArtistID":1833、 "ArtistName": "Beethoven"、 "AlbumID":4497124、 "AlbumName": "Beethoven:9 Symphonien、Ouvert \ u00fcren(1 of 6)、Berstein、Leonard"}、{"Url": "http:// tinysong .com / jh4X "、" SongID ":2909282、" SongName ":" Piano Concerto No. 5 in E flatmajorop。73'Emperor'"、" ArtistID ":1833、" ArtistName ":" Beethoven "、" AlbumID ":268605、" AlbumName ":" The Best Of Beethoven "}、{" Url ":" http://tinysong.com/JhLy "、" SongID ":31825464、" SongName ":"ベートーベン:ピアノソナタ#23 Fマイナー、作品57、\ "Appassionata \ ""、 "ArtistID":1833、 "ArtistName": "Beethoven"、 "AlbumID":4913792、 "AlbumName": "Beethoven's Greatest Hits"}、{"Url": "http://tinysong.com/ 6Jk1 "、" SongID ":4925300、" SongName ":"ベートーベン#4:アダージョ "、" ArtistID ":1833、" ArtistName ":"ベートーベン "、" AlbumID ":842118、"アルバム名 ":"ベートーベン:交響曲第4番.7&4 "}、{" Url ":" http://tinysong.com/gGW0"、" SongID ":11896153、" SongName ":" F \ u00fcr Elise "、" ArtistID ":1833、" ArtistName " :"ベートーベン"、 "アルバムID":2087629、 "アルバム名":"ベートーベンと海"}]"Beethoven"、 "AlbumID":4913792、 "AlbumName": "Beethoven's Greatest Hits"}、{"Url": "http://tinysong.com/6Jk1"、 "SongID":4925300、 "SongName": "Beethoven #4:アダージョ "、" ArtistID ":1833、" ArtistName ":"ベートーベン "、"アルバムID ":842118、"アルバム名 ":"ベートーベン:交響曲第7番と第4番 "}、{" Url ":" http: //tinysong.com/gGW0","SongID":11896153,"SongName":"F\u00fcr Elise "、" ArtistID ":1833、" ArtistName ":" Beethoven "、" AlbumID ":2087629、" AlbumName ": 「ベートーベンと海」}]"Beethoven"、 "AlbumID":4913792、 "AlbumName": "Beethoven's Greatest Hits"}、{"Url": "http://tinysong.com/6Jk1"、 "SongID":4925300、 "SongName": "Beethoven #4:アダージョ "、" ArtistID ":1833、" ArtistName ":"ベートーベン "、"アルバムID ":842118、"アルバム名 ":"ベートーベン:交響曲第7番と第4番 "}、{" Url ":" http: //tinysong.com/gGW0","SongID":11896153,"SongName":"F\u00fcr Elise "、" ArtistID ":1833、" ArtistName ":" Beethoven "、" AlbumID ":2087629、" AlbumName ": 「ベートーベンと海」}]com / 6Jk1 "、" SongID ":4925300、" SongName ":" Beethoven#4:Adagio "、" ArtistID ":1833、" ArtistName ":" Beethoven "、" AlbumID ":842118、" AlbumName ":" Beethoven:交響曲第7番と第4番"}、{" URL ":" http://tinysong.com/gGW0"、" SongID ":11896153、" SongName ":" F \ u00fcr Elise "、" ArtistID ":1833、" ArtistName ":" Beethoven "、" AlbumID ":2087629、" AlbumName ":"ベートーベンと海 "}]com / 6Jk1 "、" SongID ":4925300、" SongName ":" Beethoven#4:Adagio "、" ArtistID ":1833、" ArtistName ":" Beethoven "、" AlbumID ":842118、" AlbumName ":" Beethoven:交響曲第7番と第4番"}、{" URL ":" http://tinysong.com/gGW0"、" SongID ":11896153、" SongName ":" F \ u00fcr Elise "、" ArtistID ":1833、" ArtistName ":" Beethoven "、" AlbumID ":2087629、" AlbumName ":"ベートーベンと海 "}]com / gGW0 "、" SongID ":11896153、" SongName ":" F \ u00fcr Elise "、" ArtistID ":1833、" ArtistName ":" Beethoven "、" AlbumID ":2087629、" AlbumName ":" Beethoven and the海"}]com / gGW0 "、" SongID ":11896153、" SongName ":" F \ u00fcr Elise "、" ArtistID ":1833、" ArtistName ":" Beethoven "、" AlbumID ":2087629、" AlbumName ":" Beethoven and the海"}]
この情報をJavaScriptに渡すにはどうすればよいですか?
java - Java で HTTP Post ペイロードを送信する
グルーブシャーク API に接続しようとしています。これは http リクエストです
私の質問は、このリクエストをJava経由で送信するにはどうすればよいですか?
java - Javaでjsonをハッシュする
Grooveshark api に接続しようとしています。これは、リクエストに署名するための Grooveshark のガイドラインです: http://developers.grooveshark.com/tuts/public_api
これが私のデータに署名する方法です。しかし、「署名が無効です」というエラーが表示されます。JsonObject を形成する必要がありますか、それともデータを文字列にすることができますか?
php - jPlayer を使用した Grooveshark パブリック ストリーミング API
パブリック ストリーミング API を使用して、Grooveshark から曲をストリーミングできます。これをjPlayer(jplayer.org)で使用していますが、曲を正しくストリーミングしています。
しかし問題は、Firefox (最新バージョンで確認済み) では、曲の全継続時間が00:00 から曲全体の長さまで増加し続けることです。基本的に、完全な曲の長さはバッファリングされた曲の量です。
たとえば、04: 00 分の長さの曲はバッファリングを開始します。曲の 4 分の 1 (つまり 01:00 分) をバッファすると、 jPlayerは曲の長さを 01:00分と表示しますが、本来は 04:00 分です。
スクリーンショット: (再生中の曲の合計の長さは 05:06 分です)
http://i.stack.imgur.com/wzxPx.png
Google Chrome (最新バージョンで確認) では、曲の全期間が表示され、jplayer では、曲の先頭からでも曲全体がバッファリングされていることが示されます。
スクリーンショット: (Chrome は曲全体がバッファリングされていることを示していますが、まだバッファリング中です)
http://i.stack.imgur.com/PSkct.png
jPlayer は最初に HTML5 を使用し、HTML5 がサポートされていない場合はフラッシュにフォールバックします。Google Chrome は、HTML5 を使用した mp3 の再生をサポートしています (Grooveshark ストリームは mp3 です)。ただし、Firefox は HTML5 の mp3 をサポートしていません。
したがって、 Firefox が flash を使用し、Chrome が HTML5 を使用していることは明らかです。
今私が解決したい問題は次のとおりです:-
- Firefox で曲全体を取得し、他のすべてをそのまま維持します。
- Chrome で曲の全期間を保持し、バッファされた曲の正しい量を表示します。
これはすべて、grooveshark Web サイト自体も同じ stream.php ファイルを使用しているため可能です。
Grooveshark も独自のフラッシュ プレーヤーを提供していますが、十分な機能がなく、特に HTML5 ではありません。
jPlayer でそれが不可能な場合は、HTML5 をサポートし、ストリーミングに適したより良い代替案を提案してください。
html - Facebook リンクとして Grooveshark のようなウィジェットを実現するには?
Facebook のような Grooveshark へのリンクを投稿するhttp://grooveshark.com/s/Toothpaste+Kisses/3gGocy?src=5
と、一見通常の結果 (別のページへのリンク) が表示されますが、クリックすると、このような Flash ウィジェットに変換されます (SWF への URL はhttps://grooveshark.com/facebookWidget. swf?songID=249422 )。
私の質問は、これはどのように達成されるのですか? あらゆる種類の特別な Open Graph データをページに追加できることは知っていますが、これは会社が Facebook と行っている特別な取引のようなものですか? 理解するのに非常に役立つので、誰でもこの謎を解明できますか. ありがとう!
jquery - Grooveshark パブリック API - メソッドが見つかりません
Jquery を使用して JSON データを Grooveshark API に送信し、検索結果を取得していますが、これが得られる結果です -
これは、grooveshark API をトリガーするコードです。私はこれに関する問題を理解できません。どんな助けも素晴らしいでしょう。