0

我正在尝试使用 MVC3 C# 将照片上传到 Facebook。代码运行成功,但照片没有上传到 Facebook。我正在添加 ID 和 App Secret。我尝试了很多方法,并且努力了很多天,但结果是零。这是我的控制器的代码

[HttpPost][HttpGet]

public ActionResult Profile(HttpPostedFileBase file, FacebookOAuthResult facebookOAuthResult) {
  dynamic args = new ExpandoObject();
  args = new Dictionary<string, object>();
  args["message"] = "hi";
  args["picture"] = "http://apps.facebook.com/Uploads/photos";
  string accesstoken=FacebookWebContext.Current.AccessToken;
  FacebookClient fbApp = new FacebookClient(accesstoken);
  try {
    fbApp.Post("MYAPPID" + "/Photos", args);
  } catch (FacebookOAuthException ex) {
            //
  }
  // Verify that the user selected a file
  if (file != null && file.ContentLength > 0) {
    var path1 = Path.Combine(Server.MapPath("~/Content/uppoads"), file.FileName);
    //file.SaveAs(path1);
    fbApp.Post("MYAPPID" + "/photos", path1);
  }
  // redirect back to the index action to show the form once again
  return RedirectToAction("Profile");
}

谁能帮我找到解决方案?提前致谢。

4

1 回答 1

0

你正在将照片的本地路径发布到 Facebook,FB 不知道它是什么。
您应该将照片以二进制形式发布在帖子正文中。

var media = new Facebook.FacebookMediaObject();
var filebytes  = System.IO.File.ReadAllBytes(path1);
media.SetValue(filebytes);
fbApp.Post("248050331932489" + "/photos", media);
于 2012-07-10T05:57:40.703 回答