我試圖使用Youtube.Data.Api v3從我的.Net應用程序直播。 我已經設置了OAuth並下載了.JSON文件,並且工作正常。我知道,因爲我已經成功地獲得了一個頻道列表。在我的帳戶中的視頻,即,下面的代碼工作:Youtube Live API - 使用OAuth拒絕播放的廣播
var channelsRequest = ytService.Channels.List("contentDetails, snippet");
channelsRequest.Mine = true;
var channelsListResponse = channelsRequest.Execute();
但是,如果我嘗試執行插入請求(針對完整性我告訴你整個方法),
public static LiveBroadcast CreateImmediateBroadcast(string title = "DefaultBroadcast") {
var snippet = new LiveBroadcastSnippet();
snippet.Title = title;
snippet.ScheduledStartTime = DateTime.Now;
snippet.ScheduledEndTime = DateTime.Now + TimeSpan.FromMinutes(60);
var status = new LiveBroadcastStatus();
status.PrivacyStatus = "unlisted";
var broadcast = new LiveBroadcast();
broadcast.Kind = "youtube#liveBroadcast";
broadcast.Snippet = snippet;
broadcast.Status = status;
var insertBroadcastRequest = ytService.LiveBroadcasts.Insert(broadcast, "snippet, status");
insertBroadcastRequest.Execute();
return broadcast;
}
我得到一個異常時打電話insertBroadcastRequest.Execute()
,即:
Google.GoogleApiException了未處理
的HResult = -2146233088 消息= Google.Apis.Requests.RequestError
權限不足[403] 錯誤[ 消息[權限不足]地址[ - ]原因[insufficientPermissions]域[全球] ] 的ServiceName = YouTube的
源= Google.Apis
堆棧跟蹤: 在Google.Apis.Requests.ClientServiceRequest`1.Execute()在C:\用戶\ cloudsharp \文件\ GitHub的\ Google處理API-DOTNET客戶端\ SRC \支持\ GoogleApis \ Apis \ Requests \ ClientServiceRequest.cs:第96行 在YoutubeConsole.YouTubeAPI.CreateImmediateStream(字符串名稱)在C:\用戶\ bussg \源\工作區\ OwnExperimental \ YoutubeConsole \ YoutubeConsole \ YouTubeAPI.cs:線87 在YoutubeConsole.YouTubeAPI.Test()在 ...
而且,完整性,這裏是我的授權,
using (var stream = new FileStream(Directory.GetCurrentDirectory() + @"\GoogleAuthOtherApplication.json", FileMode.Open, FileAccess.Read)) {
credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
GoogleClientSecrets.Load(stream).Secrets,
new[] { YouTubeService.Scope.YoutubeForceSsl},
"user",
CancellationToken.None,
new FileDataStore("YouTubeAPI")
).Result;
}
此外,對於YouTubeService.Scope
我已經嘗試了所有的選項。根據documentation,insert
方法應與ForceSsl
一起使用。
注:通道必須經過批准使用YouTube Live功能,使頻道所有者串流直播內容到該通道。如果您代表經過身份驗證的用戶發送API請求,而該用戶的頻道未啓用或有資格傳輸實時內容,則API將返回一個insufficientPermissions錯誤。
但是我所有的頻道都被批准用於Youtube Live。任何想法如何讓這個工作?
胡亂猜測你可能成爲YouTube內容合作伙伴。或者https://support.google.com/youtube/answer/2474026?hl=zh-CN – DaImTo
@DalmTo:我已經多次瀏覽過許多文檔頁面,並且他們沒有提及必須成爲內容合作伙伴(如果你想在你的視頻流中顯示廣告,並且關於你的鏈接:還請檢查一下,我的頻道可以在沒有任何限制的情況下直播。 – EluciusFTW
世界各地你在哪裏? – DaImTo