Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在Facebook粉丝页面相册上上传图片&;如果相册不存在,则创建新相册';t&;使用C上传到它#_C#_Facebook_Facebook C# Sdk - Fatal编程技术网

C# 如何在Facebook粉丝页面相册上上传图片&;如果相册不存在,则创建新相册';t&;使用C上传到它#

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

我想通过提供文件夹路径上传Facebook fan page相册中的图像,如果相册不存在,我想创建新相册并将图像上传到其中

我已将代码中的异常指定为“否”

  • (OAutheException-#2500)未知路径组件:/Page ID/photos

  • 正在工作但未发布到相册中,而是直接发布

  • (OAutheException-#100)(#100)源的格式不正确

  • (OAutheException-#100)(#100)相册所有者的ID无效

  • 有关上述例外情况,请参考以下代码注释

        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);&创建相册