ฉันจะรับรหัสช่องจาก YouTube ได้อย่างไร


95

ฉันพยายามที่จะดึงข้อมูลจากช่องทางของฉันโดยใช้ที่API V3
สำหรับสิ่งนั้นฉันต้องการรหัสช่องของฉัน
ฉันพยายามค้นหารหัสช่องของฉันจากบัญชี YouTube ของฉันและฉันล้มเหลวในทุก ๆ ทาง
หากใครมีเคล็ดลับเดียวสำหรับฉันฉันจะดีใจอย่างไม่น่าเชื่อ

นี่คือ URL ที่ฉันใช้เพื่อดึงข้อมูล:

https://www.googleapis.com/youtube/v3/channels ? id = fjTOrCPnAblTngWAzpnlMA & key = {YOUR_API_KEY} & part = snippet, contentDetails, statistics

IDสำหรับรหัสช่องและที่สำคัญผมเปลี่ยน {YOUR_API_KEY} ด้วยคีย์ API ของฉันสร้างขึ้นที่คอนโซล Google API ของฉัน

ID ช่องของฉันไม่ใช่:
- klauskkpm
- klausmachado
- klausmachado@gmail.com
- fjTOrCPnAblTngWAzpnlMA

ช่องของฉันคือ: http://www.youtube.com/user/klauskkpm

คำตอบ:


175

ที่จะได้รับรหัสช่องที่คุณสามารถดูซอร์สโค้ดของหน้าของช่องและหาอย่างใดอย่างหนึ่งหรือdata-channel-external-id="UCjXfkj5iapKHJrhYfAF9ZGg""externalId":"UCjXfkj5iapKHJrhYfAF9ZGg"

UCjXfkj5iapKHJrhYfAF9ZGg จะเป็นรหัสช่องที่คุณกำลังมองหา


2
@Naveed Ahmad เนื่องจากคำตอบนี้ช่วยได้ไม่ควรใช้ดู (ในกรณีนี้คือ HTML) เนื่องจากไม่น่าเชื่อถือ พวกเขาไม่ได้เสนอเวอร์ชัน HTML หรือให้สิทธิ์เข้าถึง API ในอย่างไรก็ตาม หากต้องการรับรหัสช่อง YouTube ควรใช้คำตอบmjlescanoซึ่งใช้ API ของ YouTube
klauskpm

1
@klauskpm จริงเนื่องจากคุณกำลังมองหา ID ของตัวเอง แต่คำตอบนี้ทำให้คุณได้รับ ID ช่องและยังคงใช้งานได้ในอีก 3 ปีต่อมา :)
Yevgeniy

@Yevgeniy ถ้าคุณอ่านความคิดเห็นของฉันด้านบนฉันบอกว่ามันช่วยได้ แต่คำตอบของmijlescanoสามารถให้สิ่งนั้นได้โดยใช้ API อย่างเป็นทางการซึ่งแนะนำ
klauskpm

14
ตอนนี้คุณอาจต้องค้นหา "externalId" เพราะไม่พบอะไรเลยสำหรับ "channel-external-id"
Daniel

1
หลังจากได้รับรหัสช่อง YouTube ด้วยตนเองแล้วดูเหมือนว่าdata-channel-external-idเป็นช่องรุ่นเก่า (ช่องที่สร้างก่อนวันที่กำหนด) และexternalIdเป็นช่องใหม่ (ช่องที่สร้างขึ้นหลังจากวันที่หนึ่ง) ฉันไม่แน่ใจว่า "วันที่ที่แน่นอน" นี้คือเมื่อใด แต่ถ้าวันหนึ่งไม่เหมาะกับคุณลองอีกแบบ
derekantrican

73

คำตอบง่ายๆคือรหัสช่อง YouTube ของคุณคือUC + {YOUR_ACCOUNT_ID} เพื่อให้แน่ใจว่ารหัสช่อง YouTube หรือรหัสบัญชี YouTube ของคุณให้เข้าไปที่การตั้งค่าขั้นสูงที่หน้าการตั้งค่าของคุณ

และหากคุณต้องการทราบรหัสช่อง YouTube สำหรับช่องใด ๆ คุณสามารถใช้ไฟล์ โซลูชันที่ @mjlescano ให้

https://www.googleapis.com/youtube/v3/channels?key={YOUR_API_KEY}&forUsername={USER_NAME}&part=id

ในกรณีนี้อาจจะมีการช่วยเหลือใด ๆ ที่ผู้ใช้บางส่วนที่ทำเครื่องหมายไว้มันก็แก้ไขได้ในหัวข้ออื่นขวาที่นี่


ฉันเข้าใจว่าเป็นไปไม่ได้ที่จะได้รับรหัสช่องโดยไม่ต้องมีรหัสบัญชี ถูกต้องหรือไม่
mrub

รหัสบัญชีและรหัสช่องอาจคล้ายกันมากโดยใช้ส่วน UC ดังที่ฉันได้กล่าวไปแล้วคุณสามารถเข้าสู่หน้าการตั้งค่าขั้นสูงของบัญชี youtube หรือช่องของคุณและจะแสดงรหัสทั้งสองให้คุณ แต่ละช่อง / บัญชีจะสร้างทั้งช่องใหม่และรหัสบัญชี ดังนั้นพวกเขาจะคงอยู่
klauskpm

ขออภัยฉันพูดไม่ชัดเจน ฉันหมายถึงโดยไม่ต้องมีบัญชี Google หรือ YouTube จริงๆ
mrub

ใช่. หากคุณพยายามรับรหัสช่องของคุณและรหัสบัญชีของคุณและคุณไม่มีบัญชีหรือช่องทั้งสองจะไม่มีอยู่ ถึงกระนั้นคุณสามารถรับข้อมูลนี้สำหรับช่องทางอื่น ๆ มีตัวอย่างด้านบน
klauskpm


23

คุณสามารถรับรหัสช่องด้วยชื่อผู้ใช้ (ในกรณีของคุณคือ "klauskkpm") โดยใช้ตัวกรอง "forUsername" ดังนี้:

https://www.googleapis.com/youtube/v3/channels?key={YOUR_API_KEY}&forUsername=klauskkpm&part=id

ข้อมูลเพิ่มเติมที่นี่: https://developers.google.com/youtube/v3/docs/channels/list


17

ที่หน้าช่องใดก็ได้ที่มี URL "ผู้ใช้" เช่นhttp://www.youtube.com/user/klauskkpmไม่มีการเรียก API จาก UI ของ YouTube ให้คลิกวิดีโอของช่อง (ในแท็บ "วิดีโอ") แล้วคลิกชื่อช่องบนวิดีโอ จากนั้นคุณสามารถไปที่หน้าด้วย "ช่องทาง" ของ URL https://www.youtube.com/channel/UCfjTOrCPnAblTngWAzpnlMAตัวอย่างเช่น


1
สิ่งนี้ควรได้รับความสนใจมากขึ้น วิธีง่ายๆ
johan

10

ฉันเพิ่งค้นพบวิธีที่ง่ายที่สุดในการค้นหารหัสช่องของช่อง YouTube ใด ๆ !!

ขั้นตอนที่ 1: เล่นวิดีโอของช่องนั้น

ขั้นตอนที่ 2: คลิกชื่อช่องใต้วิดีโอนั้น

ขั้นตอนที่ 3: ดูที่แถบที่อยู่ของเบราว์เซอร์


6

รหัสช่องที่มีเวอร์ชัน youtube ปัจจุบันสามารถรับได้ง่ายมากหากคุณเข้าสู่เว็บไซต์ YouYube และเลือก 'ช่องของฉัน'

ช่องของฉัน

รหัสช่องของคุณจะแสดงบนแถบที่อยู่ของเบราว์เซอร์ของคุณ รหัสช่อง



2

ทางเลือกที่จะได้รับรหัสช่อง YouTube โดย URL ของช่องโดยไม่ต้อง API:

function get_youtube_channel_ID($url){
  $html = file_get_contents($url);
  preg_match("'<meta itemprop=\"channelId\" content=\"(.*?)\"'si", $html, $match);
  if($match && $match[1]);
  return $match[1];
}

คุณจะเรียกใช้สิ่งนี้ได้อย่างไร?
Stevoisiak

ฉันใช้ PHP ที่นี่
Arthur Araújo

2

การอัปเดตปี 2017: คำตอบของ Henryอาจจะไม่ตรงจุดนี้เล็กน้อย หากคุณค้นหาdata-channel-external-idในซอร์สโค้ดคุณอาจพบมากกว่าหนึ่ง ID และมีเพียงเหตุการณ์แรกเท่านั้นที่ถูกต้อง ได้รับchannel_idใช้ในการ<link rel="alternate" type="application/rss+xml" title="RSS" href="https://www.youtube.com/feeds/videos.xml?channel_id=<VALUE_HERE">แทน


1

ในการรับรหัสช่องคุณสามารถทำตามคำขอต่อไปนี้ซึ่งจะให้รหัสช่องและรหัสรายการเล่นแก่คุณ

https://www.googleapis.com/youtube/v3/channels?part=contentDetails%2C+statistics%2Csnippet&mine=true&key= {YOUR_API_KEY}

พารามิเตอร์ของฉันหมายถึงผู้ใช้ที่ได้รับอนุญาตปัจจุบัน

ดังที่คุณกล่าวว่ารหัสช่องนั้นสมบูรณ์แบบด้วยUC + {รหัสบัญชีของคุณ}ซึ่งคุณได้รับในขณะเข้าสู่ระบบคุณสามารถใช้อันนี้ได้โดยไม่ต้องขอ URL ด้านบนคุณสามารถเรียก API ช่องโดยตรงด้วยรหัส Google ของคุณและเพียงนำหน้าด้วยUC

https://www.googleapis.com/youtube/v3/channels?part=contentDetails%2C+statistics%2Csnippet&id=UC {your account id} & key = {YOUR_API_KEY}



0

เพื่อรับรหัสช่อง

เช่น Apple channel ID

ป้อนคำอธิบายภาพที่นี่

เลือกวิดีโอใดก็ได้ในช่องนั้น

ป้อนคำอธิบายภาพที่นี่

เลือก iPhone - แชร์รูปภาพ (วิดีโอ)

ตอนนี้คลิกที่ชื่อช่องAppleด้านล่างของวิดีโอ

ป้อนคำอธิบายภาพที่นี่

ตอนนี้คุณจะได้รับรหัสช่องใน URL ของเบราว์เซอร์

ป้อนคำอธิบายภาพที่นี่

นี่คือรหัสช่อง Apple: UCE_M8A5yxnLfW0KghEeajjw

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.