2013-03-21 50 views
7

Tôi nhận được lỗi 403 Cấm khi cố gắng lấy dữ liệu api phân tích youtube bằng tài khoản CMS.Sử dụng API YouTube Analytics với tài khoản CMS

Chỉ cần xác nhận, tài khoản CMS có giống với tài khoản Dịch vụ không?

Tôi có thể nhận dữ liệu phân tích cho các kênh thuộc sở hữu của người dùng oauth2 nhưng tôi nhận được 403 trên bất kỳ kênh nào khác mà tôi có quyền truy cập thông qua tài khoản CMS nhưng không phải là chủ sở hữu nội dung. (Tôi có cấp tài khoản Quản trị viên trên tài khoản CMS và các kênh tôi nhận được lỗi 403 về mối quan hệ "Được quản lý")

Câu hỏi: Có bất kỳ kế hoạch nào để có hỗ trợ youtube.analytics api cho truy vấn kênh được quản lý trong tài khoản CMS không?

Dường như vì tôi có thể sử dụng tài khoản đó để nhận tất cả dữ liệu phân tích cho các kênh này bằng giao diện người dùng CMS nên tôi có thể thực hiện tương tự bằng API.

Trả lời

10

Tài khoản Hệ thống quản lý nội dung YouTube không giống với một số Service Account. Bạn sẽ không nhận được các API YouTube nếu bạn xác thực là Tài khoản dịch vụ vì Tài khoản dịch vụ đó sẽ không có quyền truy cập vào bất kỳ kênh YouTube thực tế nào. Tuy nhiên, việc xác thực tài khoản CMS sẽ cung cấp cho bạn những gì bạn muốn. Có rất nhiều điều này gần đây đã được đưa vào sản xuất, vì vậy hãy để tôi trình bày các bước đầy đủ ở đây giải thích cách mọi người truy cập YouTube CMS có thể chạy báo cáo API YouTube Analytics dựa trên các kênh và video họ quản lý.

(Tùy chọn) Trong khi ủy quyền qua OAuth 2 là tài khoản CMS, sử dụng cả https://www.googleapis.com/auth/youtube.readonlyhttps://www.googleapis.com/auth/youtubepartner phạm vi, làm cho một dữ liệu API của YouTube v3 channels.list() cuộc gọi với các thông số sau: part=snippet,contentDetails, managedByMe=true, maxResults=50, onBehalfOfContentOwner=CONTENT_OWNER_ID. CONTENT_OWNER_ID là một giá trị mà bạn sẽ phải mã hóa ở đây và phải được đặt thành "mã đối tác" cho tài khoản YouTube CMS của bạn. Thao tác này sẽ cung cấp cho bạn danh sách tối đa 50 kênh mà tài khoản CMS của bạn quản lý. (Nếu bạn cần nhiều hơn 50, bạn cần phải trang qua kết quả.) Id của mỗi kênh sẽ được trả về trong channel.id và các thông tin hữu ích khác (như id danh sách tải lên, nếu bạn muốn nhận danh sách video trong kênh đó) cũng sẽ được trả lại.

Nếu bạn đã biết id kênh UC... cho kênh bạn muốn chạy báo cáo, bạn có thể bỏ qua bước đó và chuyển trực tiếp đến báo cáo Analytics.

Để chạy báo cáo cấp kênh trên kênh được quản lý, trong khi được ủy quyền làm tài khoản CMS, hãy thực hiện YouTube Analytics API request với các thông số sau: ids=contentOwner==CONTENT_OWNER_ID, filters=channel==UC... và sau đó nhập bất kỳ thông số báo cáo nào khác mà bạn muốn.

Để chạy báo cáo cấp video, hãy đặt ids=contentOwner==CONTENT_OWNER_IDfilters=video==VIDEO_ID, trong đó VIDEO_ID là id của bất kỳ video nào trong bất kỳ kênh nào mà tài khoản CMS quản lý.

Có thêm chi tiết về báo cáo của chủ sở hữu nội dung in the docs.

+0

Jeff, cảm ơn bạn rất nhiều vì đã làm rõ câu hỏi CMS vs Tài khoản dịch vụ và tất cả chi tiết để truy vấn API phân tích dưới dạng tài khoản CMS. Điều này sẽ giúp tôi rất nhiều. – kk64738

+0

Jeff, chỉ cần đăng một câu hỏi tiếp theo ở đây: (http://stackoverflow.com/q/15822889/2194129) Rất nhiều đánh giá cao nếu bạn có bất kỳ suy nghĩ? – kk64738

Các vấn đề liên quan