ライブストリームのリストを取得することができます:https://developers.google.com/youtube/v3/live/docs/liveStreams/list#examples しかし、アンドロイドのYouTube v3 APIを使用して特定のチャンネルのライブストリームステータスとライブストリームリンクまたはIDを取得するにはどうすればよいですか?YouTubeのライブストリームをAndroid IDのYouTube API V3でチャンネルIDで取得する方法は?
3
A
答えて
1
私は同じ問題に直面し、同じ解決策を見つけ出すことができました。 YouTubeでは実際にこの目的のためのAPIを提供しています。チャネルIDを持っている場合は、検索APIを使用して現在アクティブなライブビデオIDを取得できます。
は、次のAPIを使用します。
https://www.googleapis.com/youtube/v3/search?part=snippet&channelId={YOUR_CHANNEL_ID}&eventType=live&type=video&key={YOUR_API_KEY}
ここで重要な要因は、あなたがvideo
にlive
とtype
にeventType
を設定する必要があります。
チャンネルIDを取得するには、チャンネルのユーザー名がある場合は次のリクエストを使用できます。これは、YouTubeは私がライブストリームのビデオを取得する方法この
https://www.googleapis.com/youtube/v3/search?part=snippet&q={YOUR_SEARCH_QuERY}&eventType=live&type=video&key={YOUR_YOUTUBE_API}
あなたのすべてのライブストリームイベントを与えるように、あなたはまた、YouTubeにクエリを渡すことができるライブストリームID
https://www.googleapis.com/youtube/v3/search?part=snippet&channelId={CHANNEL_ID}&eventType=live&type=video&key={YOUR_API_KEY}
を返します
https://www.googleapis.com/youtube/v3/channels?part=contentDetails&forUsername={CHANNEL_USER_NAME}&key={YOUR_API_KEY}
+0
を追加しました。これはPUBLICのライブストリームでのみ機能します。 UNLISTEDまたはPRIVATEのライブストリームでは機能しません。 – jsherk
3
私のアプリ
private void initVolley(String[] urls) {
for (String url : urls) {
if (url.startsWith("https://www.googleapis.com/youtube/v3/")) {
jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
JSONArray jsonArray = response.getJSONArray("items");
if (jsonArray.length() > 0) {
for (int getItem = 0; getItem < jsonArray.length(); getItem++) {
JSONObject jsonObject = jsonArray.getJSONObject(getItem).getJSONObject("id");
String videoID = jsonObject.getString("videoId");
Log.d(TAG, "void id " + videoID);
mUrlList.add(new video(jsonArray.getJSONObject(getItem).getJSONObject("snippet").getString("title"), jsonArray.getJSONObject(getItem).getJSONObject("snippet").getJSONObject("thumbnails").getJSONObject("medium").getString("url"), " ", "https://www.youtube.com/watch?v=" + videoID, true));
if (mAdapter != null)
mAdapter.notifyDataSetChanged();
Log.d(TAG, videoID + jsonArray.length() + jsonArray.getJSONObject(getItem).getJSONObject("snippet").getJSONObject("thumbnails").getJSONObject("default").getString("url"));
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
requestQueue.add(jsonObjectRequest);
}
}
}
そして、あなたは多分あなたがデータベースにあなたを保存するYouTubeのリンクを持っている場合、あなたがしたい場合は、これはあなたにこの
JsonObjectRequest obreq = new JsonObjectRequest(Request.Method.GET, JsonURL, null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
// mVideo = new video(response.getString("title"), response.getString("thumbnail_url"), response.getString("author_name"));
// mVideoDataSet.add(mVideo);
mVideo = new video(url);
mVideo.setVideoTitle(response.getString("title"));
mVideo.setVideoThimailUrl(response.getString("thumbnail_url"));
mVideo.setVideoChannalName(response.getString("author_name"));
mVideo.setLiveNow(false);
mVideoDataSet.add(mVideo);
Log.d(TAG, "inside the volly" + mVideo.getVideoTitle());
// Log.d(TAG, mVideoDataSet.get(i).getVideoStreemUrl());
if (mAdapter != null) {
mAdapter.notifyDataSetChanged();
// if(mSwipeRefreshLayout.isRefreshing())
// mSwipeRefreshLayout.setRefreshing(false);
} else {
Log.d(TAG, "setingAdupter");
// if(mSwipeRefreshLayout.isRefreshing())
// mSwipeRefreshLayout.setRefreshing(false);
mAdapter = new CustomAdapter(mVideoDataSet);
mRecyclerView.setAdapter(mAdapter);
}
i++;
if (i != mUrlList.size())
initVolly();
} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
// if(error)
i++;
initVolly();
Log.e("Volley", "Error");
}
}
);
// Adds the JSON object request "obreq" to the request queue
requestQueue.add(obreq);
と最後のための
https://www.youtube.com/oembed?url=https://www.youtube.com/watch?v=lUOhCtXPN40&format=json
とコードの下のキーアウトAPIといくつかの便利な情報を返します。ソースコードはこちらis link
関連する問題
- 1. あなたのすべてのチャンネルIDを取得する方法 - youtube api v3
- 2. YouTube:すべてのビデオIDをチャンネル/ユーザーに取得する方法は? [V3]
- 3. YouTube API V3を使用してチャンネルを取得する方法
- 4. あなたはYouTubeで自分のチャンネルIDを取得する方法、PythonとYouTubeのAPIを使用して?
- 5. PHP - OAuth - YouTube APIの後にチャンネルIDを取得する
- 6. チャンネルの動画をすべて取得する - YouTube API v3 c#
- 7. Youtube API V3から検証済みのチャンネルを取得する方法は?
- 8. YouTubeチャンネルで最新のアップロード動画のIDを取得する方法
- 9. iOS YoutubeライブストリームAPIエラー
- 10. YouTubeコンテンツID APIを取得する
- 11. Youtube API v3 AndroidでwebViewを使用してYoutubeチャンネルを作成する
- 12. YouTube API v3アップロードビデオリンクを取得
- 13. Youtube API YoutubeからGoogle+ IDを取得するユーザー名
- 14. youtubeの購読リストからYouTubeのチャンネルのバナーを取得する方法Api?
- 15. youtube api v3でyoutube videoから直接リンクを取得する方法
- 16. YouTubeデータAPIを使用してYouTubeチャンネルのジャンルを取得する方法
- 17. gdata.youtube.com/feeds/api/videos(YouTube API)からYouTubeの動画IDを取得する
- 18. youtube apiからチャンネル関連のデータを取得する方法
- 19. Youtube APIはCでライブブロードキャストIDを取得する
- 20. YouTube API V3 - すべてのゲームライブストリームを取得する方法
- 21. youtube apiで誰か他の人のライブチャットIDを取得する方法
- 22. AndroidスタジオのYouTube Data API v3で加入者数を取得
- 23. youtube API V3(c#)でYouTube動画をスケジュールする方法
- 24. YouTubeのAPIがライブストリームを返さない
- 25. チャンネルIDを使用してチャンネルにアップロードされたすべてのvidoesを取得するためのYoutube API
- 26. のYouTube Data APIでは、ガイドカテゴリID
- 27. YouTubeのデータAPIリストビデオby ID
- 28. YouTube Data API v3で現在のユーザーのプロフィール情報を取得する方法
- 29. youtube api v3(Android)の動画IDを使用して動画タイトルを取得する
- 30. YouTube API v3 ipRefererBlocked
ANSはありますか? – Hamza
あなたはそれを共有するPLSを得る場合、ANSはありません。 – YLS
私もこれを探しています。しかし、あなたはYouTubeのチャンネルをスクラップし、ライブストリームのURLを取得するのはどうですか? – Hamza