我有一个 Facebook 应用程序,用户可以在其中订阅。为了订阅,我制作了一个 PHP 网页,用户可以使用他的 Facebook 帐户信息登录,当他登录时,我将用户 ID 和访问令牌存储到我的 MySQL 数据库中。然后我将所有访问令牌作为 XML 文件发送到我的应用程序。
现在,我想将状态和照片发布到订阅的用户帐户。但是当我想上传照片到账户时,我必须在每次发布操作中将照片上传到每个账户,这种方法是没有用的。
我的发布代码如下:
public static bool PostImage(string ImageDesc, string ImagePath)
{
try
{
string accesstoken = "";
if (ImagePath.Length < 0)
return false;
int progressMaxValue = Controller.participants.Descendants("participant").Count();
int increment = 100 / progressMaxValue;
PostImageCPanel.progressBar1.Value = 0;
foreach (XElement xe in Controller.participants.Descendants("participant"))
{
try
{
accesstoken = xe.Attribute("access_token").Value;
FacebookClient client = new FacebookClient(accesstoken);
var imageStream = File.OpenRead(ImagePath);
dynamic res = client.Post("/me/photos", new
{
message = (ImageDesc"),
file = new FacebookMediaStream
{
ContentType = "image/jpg",
FileName = Path.GetFileName(ImagePath)
}.SetValue(imageStream)
});
PostImageCPanel.progressBar1.Value += increment;
}
catch (FacebookOAuthException ex)
{
MessageBox.Show(ex);
}
}
所以,我问我是否可以只将照片上传到 MySQL DB 一次,然后将其发布到参与者的 Facebook 帐户,而不是每次都为每个帐户上传。或者另一种更快地发布照片的方法。