【问题标题】:Upload video to Facebook from the server从服务器上传视频到 Facebook
【发布时间】:2023-03-30 12:54:02
【问题描述】:

我在将视频上传到 Facebook 时遇到问题。

我使用 Android 版 Facebook SDK:https://github.com/facebook/facebook-android-sdk 获取具有以下权限的访问令牌:“publish_stream”、“email”、“video_upload”、“publish_actions”

然后我将令牌发送到服务器,该服务器应该上传视频。服务器尝试使用以下代码上传视频:

string fullurl = string.Format("https://graph-video.facebook.com/me/videos?title={0}&description={1}&access_token={2}", HttpUtility.UrlEncode(fileName), HttpUtility.UrlEncode(description), token);

Facebook 返回错误:

System.Net.WebException: The remote server returned an error: (400) Bad Request.
   at System.Net.WebClient.UploadFile(Uri address, String method, String fileName)
   at System.Net.WebClient.UploadFile(String address, String fileName)

但是,当我使用以下链接检查令牌时:https://graph.facebook.com/me?access_token=myToken Facebook 返回用户信息。这意味着令牌是有效的。但是,如果这个请求返回错误代码,我在哪里可以找到错误代码的信息?

此解决方案对某些用户非常有效,但对于其他用户则不稳定(6 个视频中的 4 个上传失败。Facebook 返回:“远程服务器关闭连接”)。并没有为一些用户使用错误:“远程服务器返回错误:(400)错误请求”。

我的代码有什么问题?

【问题讨论】:

    标签: facebook video upload token


    【解决方案1】:

    我已经解决了这个问题。我已经开始使用 .NET 的 facebook SDK http://facebooksdk.net/ 它对我有用。

          Facebook.FacebookClient fb = new FacebookClient(facebookEditTask.facebookToken);
          fb.PostCompleted += (o, e) =>
          {
               if (e.Cancelled || e.Error != null)
               {
                    return;
               }
    
               var result = e.GetResultData();
               facebookVideoUrl = CreateLinkToVideo(result.ToString());
           };
    
           dynamic parameters = new ExpandoObject();
           parameters.source = new FacebookMediaStream
           {
                 ContentType = "video/mp4",
                  FileName = Path.GetFileName(facebookEditTask.FilePath)
           }.SetValue(File.OpenRead(facebookEditTask.FilePath));
    
           parameters.message = fbMessage;
    
           Task t = fb.PostTaskAsync("me/videos",
                        new { message = fbMessage, parameters.source });
    

    【讨论】:

      猜你喜欢
      • 2023-03-22
      • 1970-01-01
      • 2011-06-28
      • 1970-01-01
      • 2013-03-14
      • 1970-01-01
      • 1970-01-01
      • 2015-11-26
      相关资源
      最近更新 更多