【发布时间】:2014-03-03 22:51:57
【问题描述】:
我正在开发 WinService,它将文件系统上特定文件夹中的照片上传到 Facebook 页面(要上传,我已经制作了 Facebook 应用程序并将其连接到 Facebook 页面),其中文件夹名称是将用于 Facebook 的名称专辑。 所以,首先我创建专辑,这很好,我有专辑 ID。
我尝试了几种将照片上传到 Facebook 相册的方法,但每次上传的每张照片都会生成一个弹出通知。 方式1:
FacebookClient fb = new FacebookClient(token.Trim());
//Perform upload
var imageStream = File.OpenRead(photo.Location);
fb.PostCompleted += (o, e) =>
{
imageStream.Dispose();
if (e.Cancelled || e.Error != null)
{
error = e.Error == null ? "canceled" : e.Error.Message;
}
};
dynamic res = fb.PostTaskAsync("/" + fbAlbumID + "/photos", new
{
message = String.Empty,
file = new FacebookMediaStream
{
ContentType = "image/jpg",
FileName = Path.GetFileName(photo.Location)
}.SetValue(imageStream)
});
res.Wait();
var dictionary = (IDictionary<string, object>)res.Result;
方式2:
dynamic result = fb.Batch(
new FacebookBatchParameter(HttpMethod.Post, "/" + albumId + "/photos",
new Dictionary<string, object>
{
{"message", "picture 1 msg"},
{
"pic1",
new FacebookMediaObject {ContentType = "image/jpeg", FileName = "p4.jpg"}.SetValue(
File.ReadAllBytes(
file1path))
}
}),
new FacebookBatchParameter(HttpMethod.Post, "/" + albumId + "/photos",
new Dictionary<string, object>
{
{"message", "picture 1 msg"},
{
"pic2",
new FacebookMediaObject {ContentType = "image/jpeg", FileName = "p4.jpg"}.SetValue(
File.ReadAllBytes(
file2path))
}
}
)
);
但对于每一种方式,每张上传的照片都会为喜欢该页面的人生成弹出通知。 他们,“喜欢的人”,将其视为垃圾邮件。
如何实现一张相册上传10张照片并有单次通知?
请指教,谢谢。
【问题讨论】:
-
这条消息是从哪里来的?我不明白...
-
哪条消息?我已经描述了我的问题。
-
"...但是每次上传的每张照片都会生成一个弹出通知..."
-
它显示在左下角作为弹出窗口和通知部分。喜欢的人将其视为垃圾邮件,他们不希望收到每张图片的通知。如果他们有一个通知“10 张照片上传到相册新年”就可以了。 dropbox.com/s/6whtto9e4bzaovg/img.jpg的示例
标签: c# facebook facebook-graph-api