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 函数“未找到作业函数”错误的问题