C# 如何在Facebook粉丝页面相册上上传图片&;如果相册不存在,则创建新相册';t&;使用C上传到它#
我想通过提供文件夹路径上传Facebook fan page相册中的图像,如果相册不存在,我想创建新相册并将图像上传到其中 我已将代码中的异常指定为“否”C# 如何在Facebook粉丝页面相册上上传图片&;如果相册不存在,则创建新相册';t&;使用C上传到它#,c#,facebook,facebook-c#-sdk,C#,Facebook,Facebook C# Sdk,我想通过提供文件夹路径上传Facebook fan page相册中的图像,如果相册不存在,我想创建新相册并将图像上传到其中 我已将代码中的异常指定为“否” (OAutheException-#2500)未知路径组件:/Page ID/photos 正在工作但未发布到相册中,而是直接发布 (OAutheException-#100)(#100)源的格式不正确 (OAutheException-#100)(#100)相册所有者的ID无效 有关上述例外情况,请参考以下代码注释 int flag
int flag = 0;
string albumId = string.Empty;
var app = new FacebookClient(AccessToken);
//Get all the albums
dynamic albums = app.Get("PageID/albums");
foreach(dynamic albumInfo in albums.data)
{
if (albumInfo.name == "Album Name")
{
// Find the desired album id
albumId= albumInfo.id;
link = albumInfo.link;
flag = 1;
break;
}
}
if (flag == 1)
{
flag = 1;
string path = txtDir.Text;
var files = Directory.GetFiles(path, "*.*", SearchOption.AllDirectories)
.Where(s => s.EndsWith(".jpeg") || s.EndsWith(".jpg"));
// Search created album and upload images from folder
foreach (string fpath in files)
{
byte[] photo = File.ReadAllBytes(fpath);
dynamic parameters = new ExpandoObject();
parameters.access_token = AccessToken;
parameters.message = "Message";
string f = Path.GetFileName(fpath);
var mediaObject = new FacebookMediaObject
{
ContentType = "image/jpg",
FileName = Path.GetFileName(fpath)
};
mediaObject.SetValue(photo);
parameters.source = mediaObject;
1. //-------------- Not Working
//var result = app.Post("/" + albumId + "/PageID/photos", parameters);
2. //---------------Working but directly posting to photos & not to album
//var result = app.Post("/PageID/photos/" + albumId + "/", parameters);
3. //---------------Not Working
//var result = app.Post("/PageID/photos/" + albumId + "/", parameters);
//---------------Working for Account not for page
//var result = app.Post("/" + albumId + "/photos", parameters);
}
}
else
{
//Code to Create Album
FacebookClient facebookClient = new FacebookClient(AccessToken);
var albumParameters = new Dictionary<string, object>();
string albumName = "Album Name";
string albumMessage = "Album Message";
albumParameters["message"] = albumMessage;
albumParameters["name"] = albumName;
4. //Not Working
//facebookClient.Post("/PageId/albums", albumParameters);
//Working for facebook account not page
//facebookClient.Post("/me/albums", albumParameters);
// Get all albums
dynamic albums = app.Get("PageID/albums");
// Search created album and upload images from folder
foreach (dynamic albumdata in album.data)
{
if (albumdata.name == albumName)
{
string albumid = albumdata.id;
string path = txtDir.Text;
//Get all the files from the directory
var files = Directory.GetFiles(path, "*.*", SearchOption.AllDirectories)
.Where(s => s.EndsWith(".jpeg") || s.EndsWith(".jpg"));
foreach (string fpath in files)
{
byte[] photo = File.ReadAllBytes(fpath);
dynamic parameters = new ExpandoObject();
parameters.access_token = AccessToken;
parameters.message = "Message";
var mediaObject = new FacebookMediaObject
{
ContentType = "image/jpg",
FileName = Path.GetFileName(fpath)
};
mediaObject.SetValue(photo);
parameters.source = mediaObject;
1. //-------------- Not Working
//var result = app.Post("/" + albumId + "/PageID/photos", parameters);
2. //---------------Working but directly posting to photos & not to album
//var result = app.Post("/PageID/photos/" + albumId + "/", parameters);
3. //---------------Not Working
//var result = app.Post("/PageID/photos/" + albumId + "/", parameters);
//---------------Working for Account not for page
//var result = app.Post("/" + albumId + "/photos", parameters);
}
}
}
}
int标志=0;
string albumId=string.Empty;
var-app=新的FacebookClient(AccessToken);
//拿到所有的唱片
动态相册=app.Get(“PageID/相册”);
foreach(albums.data中的动态albumInfo)
{
如果(albumInfo.name==“唱片集名称”)
{
//查找所需的唱片集id
albumId=albumInfo.id;
link=albumInfo.link;
flag=1;
打破
}
}
如果(标志==1)
{
flag=1;
字符串路径=txtDir.Text;
var files=Directory.GetFiles(路径“***”,SearchOption.AllDirectories)
其中(s=>s.EndsWith(.jpeg)| | s.EndsWith(.jpg));
//搜索创建的相册并从文件夹上载图像
foreach(文件中的字符串fpath)
{
byte[]photo=File.ReadAllBytes(fpath);
动态参数=新的ExpandooObject();
parameters.access\u token=AccessToken;
parameters.message=“message”;
字符串f=Path.GetFileName(fpath);
var mediaObject=新的FacebookMediaObject
{
ContentType=“image/jpg”,
FileName=Path.GetFileName(fpath)
};
mediaObject.SetValue(照片);
parameters.source=媒体对象;
1./------------不工作
//var result=app.Post(“/”+albumId+“/PageID/photos”,参数);
2./------------正在工作,但直接发布到照片,而不是相册
//var result=app.Post(“/PageID/photos/”+albumId+“/”,参数);
3./--------------不工作
//var result=app.Post(“/PageID/photos/”+albumId+“/”,参数);
//---------------为帐户而非页面工作
//var result=app.Post(“/”+albumId+“/photos”,参数);
}
}
其他的
{
//创建相册的代码
FacebookClient FacebookClient=新的FacebookClient(AccessToken);
var albumParameters=新字典();
字符串albumName=“Album Name”;
字符串albumMessage=“Album Message”;
albumParameters[“message”]=albumMessage;
albumParameters[“name”]=albumName;
4//不工作
//facebookClient.Post(“/PageId/albums”,albumParameters);
//为facebook帐户而不是页面工作
//facebookClient.Post(“/me/albums”,albumParameters);
//获取所有相册
动态相册=app.Get(“PageID/相册”);
//搜索创建的相册并从文件夹上载图像
foreach(album.data中的动态albumdata)
{
if(albumdata.name==albumName)
{
字符串albumid=albumdata.id;
字符串路径=txtDir.Text;
//从目录中获取所有文件
var files=Directory.GetFiles(路径“***”,SearchOption.AllDirectories)
其中(s=>s.EndsWith(.jpeg)| | s.EndsWith(.jpg));
foreach(文件中的字符串fpath)
{
byte[]photo=File.ReadAllBytes(fpath);
动态参数=新的ExpandooObject();
parameters.access\u token=AccessToken;
parameters.message=“message”;
var mediaObject=新的FacebookMediaObject
{
ContentType=“image/jpg”,
FileName=Path.GetFileName(fpath)
};
mediaObject.SetValue(照片);
parameters.source=媒体对象;
1./------------不工作
//var result=app.Post(“/”+albumId+“/PageID/photos”,参数);
2./------------正在工作,但直接发布到照片,而不是相册
//var result=app.Post(“/PageID/photos/”+albumId+“/”,参数);
3./--------------不工作
//var result=app.Post(“/PageID/photos/”+albumId+“/”,参数);
//---------------为帐户而非页面工作
//var result=app.Post(“/”+albumId+“/photos”,参数);
}
}
}
}
Hi,设法解决了问题,访问令牌出现问题,现在使用var result=app.Post(“/”+albumId+“/photos”,参数)工作正常;发布照片2。facebookClient.Post(“/PageID/albums/”,albumParameters);&为了创建albumHi并设法解决问题,访问令牌出现问题,现在使用var result=app.Post(“/”+albumId+“/photos”,parameters)工作正常;发布照片2。facebookClient.Post(“/PageID/albums/”,albumParameters);&为了创建albumHi并设法解决问题,访问令牌出现问题,现在使用var result=app.Post(“/”+albumId+“/photos”,parameters)工作正常;发布照片2。facebookClient.Post(“/PageID/albums/”,albumParameters);&创建相册