上传GIF在Facebook上显示为静态图像

本文关键字:静态 图像 显示 GIF Facebook 上传 | 更新日期: 2023-09-27 18:10:28

我实现了一个在Facebook上分享帖子的方法。我面临的问题是上传的GIF图像显示为静态图像而不是动画GIF。

当通过Facebook上传图片时,结果是相似的。我试过通过发布到'/me/feed'并指定'picture'和'link'参数来实现另一种解决方案,再次导致静态图像。

对于这个问题是否有其他可用的方法?

/// <summary>
/// Share status on facebook
/// </summary>
/// <param name="sharingData"></param>
/// <param name="accessToken"></param>
private void ShareStatus(SocialMediaShareData sharingData, string accessToken)
{
    RestClient client = new RestClient(@"https://graph.facebook.com");
    var url = string.Concat("/me/photos?access_token=", accessToken);
    var request = new RestRequest(url, Method.POST);
    request.AddParameter("access_token", accessToken, ParameterType.GetOrPost);
    request.AddParameter("message", sharingData.Content, ParameterType.GetOrPost);
    if (!sharingData.Image.IsNullOrHasZeroElements())
    {
        var imageExtension = sharingData.ImageExtension;
        var name = sharingData.ImageName;
        var mime = MimeTypeMap.GetMimeType(imageExtension);
        request.AddFile("source", sharingData.Image, name, mime);
    }
    result = client.Execute(request);
}

上传GIF在Facebook上显示为静态图像

尝试在视频下上传。

        $linkData = [
            'message' => $gifyTitle,
            'source' => $fb->fileToUpload($fileName)
        ];      
        $linkData["message"] = $gifyTitle;
        $response = $fb->post('/me/videos', $linkData, $pageAccessToken);

Facebook不喜欢启用alpha通道的gif。如果有alpha通道,它只显示第一个静态图像。我将gif转换为不启用alpha,它将gif显示为活动图像。我还没确认,但从录像里看不出来。所以这让我怀疑他们是否真的在播放视频,而不是gif。