csharp Azure功能将Youtube发布到Facebook
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp Azure功能将Youtube发布到Facebook相关的知识,希望对你有一定的参考价值。
namespace Company.AzureFunction
{
using Google.Apis.YouTube.v3.Data;
internal static class SnippetExtension
{
public static string GetVideoUrl(this PlaylistItemSnippet snippet)
{
if (null == snippet || null == snippet.ResourceId)
{
return string.Empty;
}
return $"https://www.youtube.com/watch?v={snippet.ResourceId.VideoId}";
}
}
}
private static async Task<bool> PublishToFacebook(PlaylistItem latestVideo, TraceWriter log)
{
// Récupération des variables d'environnement
var pageAccessToken = Environment.GetEnvironmentVariable("FacebookPageAccessToken");
var pageId = Environment.GetEnvironmentVariable("FacebookPageId");
// Publication sur la page
try
{
var postResult = await _httpClient.PostAsync(
$"https://graph.facebook.com/v2.12/{pageId}/feed"
+ $"?access_token={pageAccessToken}"
+ $"&message={WebUtility.UrlEncode(latestVideo.Snippet.Description)}"
+ $"&link={WebUtility.UrlEncode(latestVideo.Snippet.GetVideoUrl())}",
null
);
if (postResult.IsSuccessStatusCode)
{
var response = await postResult.Content.ReadAsStringAsync();
log.Info($"Publication FB faite !\n{response}");
return true;
}
log.Error(
"Erreur de publication sur FB\n" +
$"\tCode: {postResult.StatusCode}\n" +
$"\tReason: {postResult.ReasonPhrase}\n"
);
try
{
var response = await postResult.Content.ReadAsStringAsync();
log.Error("ContentResponse" + response);
}
catch
{
// Be quiet...
}
}
catch(Exception e)
{
log.Error("Exception sur la publication FB\n"+e.Message);
}
return false;
}
以上是关于csharp Azure功能将Youtube发布到Facebook的主要内容,如果未能解决你的问题,请参考以下文章
csharp Azure功能发布到Blogger
csharp 将Webhooks添加到Azure Data Factory
csharp Azure功能
csharp 通过.net WebAPI将Azure存储专用容器blob下载/流式传输到AngularJS
如何创建基于 Youtube API 上传视频代码的 Azure Function?
创建 Azure 函数“未找到作业函数”错误的问题