2012-10-19 28 views
9

Theo tài liệu API Analytics của Analytics (https://developers.google.com/youtube/analytics/v1/available_reports), có vẻ như bạn có thể truy xuất chỉ số cho video cụ thể bằng thứ nguyên "video". Tôi có thể đưa tất cả các chỉ số khác thành công - hoặc chỉ định thứ nguyên như "ngày" và "quốc gia" hoặc không cung cấp thứ nguyên nào cả.Không thể truy lục số liệu video bằng API Analytics của Google

Nhưng khi tôi thay đổi giá trị thứ nguyên thành "video", tôi nhận được mã lỗi 400 với thông báo "Truy vấn không được hỗ trợ. Kiểm tra tài liệu cho các truy vấn được hỗ trợ". Đây là báo cáo kênh - không phải báo cáo của chủ sở hữu nội dung - nhưng theo tài liệu, đây phải là yêu cầu báo cáo hợp lệ. Tôi thậm chí đã cố gắng giới hạn tập kết quả với một số tham số bổ sung như start-index, max-results, và sort.

TRÌNH

client.execute(:api_method => "youtubeAnalytics.reports.query", 
       :parameters => {'ids' => "channel==##USER_ID##", 
           "start-date" => "2012-01-01", "end-date" => "2012-02-01", 
           "metrics" => "views"}) 

client.execute(:api_method => "youtubeAnalytics.reports.query", 
       :parameters => {'ids' => "channel==##USER_ID##", 
           "start-date" => "2012-01-01", "end-date" => "2012-02-01", 
           "metrics" => "views", 
           "dimensions" => "day"}) 

KHÔNG LÀM VIỆC - trả về 400 lỗi

client.execute(:api_method => "youtubeAnalytics.reports.query", 
       :parameters => {'ids' => "channel==##USER_ID##", 
           "start-date" => "2012-01-01", "end-date" => "2012-02-01", 
           "metrics" => "views", 
           "dimensions" => "video"}) 

client.execute(:api_method => "youtubeAnalytics.reports.query", 
       :parameters => {'ids' => "channel==##USER_ID##", 
           "start-date" => "2012-01-01", "end-date" => "2012-02-01", 
           "metrics" => "views", 
           "dimensions" => "video", 
           "start-index" => 1, 
           "max-results" => 5, 
           "sort" => "views"}) 

Có ai đã có thể làm cho một yêu cầu thành công cho một báo cáo kênh để biết chi tiết mức độ video?

Trả lời

8

Vì vậy, những điều sau đây không làm việc:

channel==USER_ID 
start-date=YYYY-MM-DD 
end-date=YYYY-MM-DD 
metrics=views 
dimensions=video 
max-results=10 
sort=-views 

Điều quan trọng là bạn cần phải sắp xếp theo giảm dần lượt xem nếu bạn muốn chạy một báo cáo dimensions=video, và bạn chỉ có thể lấy tối đa 10 kết quả. Này được giải thích trong bảng thứ hai tại

https://developers.google.com/youtube/analytics/v1/available_reports#Channel_Reports

10 kết quả tối đa đề cập trong tài liệu của họ, sắp xếp theo quan điểm giảm, rõ ràng là một giới hạn nhân tạo áp đặt bởi các nguồn phụ trợ cho dữ liệu Analytics, nhưng đó là tất cả các API có thể hỗ trợ trước. Google vừa cập nhật nó để bạn có thể nhận được tối đa 200 kết quả video - https://developers.google.com/youtube/analytics/revision_history

Nếu bạn đang ở trong một tình huống mà bạn muốn nhận dữ liệu Analytics cho video tùy ý trong một tài khoản nhất định, không chỉ 10 có nhiều lượt xem nhất, bạn cần đặt thứ nguyên thành một thứ khác ngoài video và sau đó chạy báo cáo với một số filter= được đặt thành từng id video trong tài khoản mà bạn quan tâm. Một lần nữa, điều này có thể thay đổi trong tương lai, nhưng ngay bây giờ, API Analytics không phù hợp để nhận một lượng dữ liệu khổng lồ cho mỗi video trong một tài khoản trong một cuộc gọi API duy nhất.

+0

Tôi đã bỏ qua dấu gạch ngang trước thông số sắp xếp "lượt xem". Tôi đã thay đổi từ "views" thành "-views" và nó hoạt động như mong đợi - cảm ơn! – Bart

+0

Đúng, để rõ ràng, '-' có nghĩa là sắp xếp theo lượt xem theo thứ tự giảm dần. Không có '-', nó sẽ có nghĩa là sắp xếp theo lượt xem theo thứ tự tăng dần, không hợp lệ cho' dimension = video'. –

+0

Có ai biết giải pháp cho vấn đề này liên quan đến api phân tích youtube không? http://stackoverflow.com/questions/30370161/youtube-analytics-api-doesnt-return-rows-for-query-for-a-specific-video – elchueko

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