您无权在群组中发帖

时间:2012-11-29 01:19:13

标签: c# facebook winforms facebook-c#-sdk

我已经完成了一个C#程序,它与Facebook集成并通过点击发布到多个组

但是我现在遇到一个问题,当有一个你没有权限发帖的小组我无法完成发布到其他地方

这是帖子功能 我把它放在其他类

public static bool PostImage(Frm form,string AccessToken, string Status, string ImagePath) 
{
    try
    {
        if (form.listBox2 .SelectedItems .Count  > 0)
        {
            string item;
            foreach (int i in form. listBox2.SelectedIndices)
            {
                item = form.listBox2.Items[i].ToString();
                groupid = item;

                FacebookClient fbpost = new FacebookClient(AccessToken);
                var imgstream = File.OpenRead(ImagePath);
                dynamic res = fbpost.Post("/" + groupid + "/photos", new
               {
                   message = Status,
                   File = new FacebookMediaStream
                   {    
                       ContentType = "image/jpg",
                       FileName = Path.GetFileName(ImagePath)
                   }.SetValue(imgstream)

               });
                result = true;
            }
        }
        return result;
    }
    catch (Exception ex)
    {
        System.Windows.Forms.MessageBox.Show(ex.Message);
        return false;
    }
}

1 个答案:

答案 0 :(得分:0)

你需要在循环中放置一个try catch块。然后,在catch块中记录错误(或用它做任何你想做的事情)然后继续循环:

foreach (int i in form. listBox2.SelectedIndices)
{
    try
    {
        item = form.listBox2.Items[i].ToString();
        groupid = item;

        FacebookClient fbpost = new FacebookClient(AccessToken);
        var imgstream = File.OpenRead(ImagePath);
        dynamic res = fbpost.Post("/" + groupid + "/photos", new
       {
           message = Status,
           File = new FacebookMediaStream
           {    
               ContentType = "image/jpg",
               FileName = Path.GetFileName(ImagePath)
           }.SetValue(imgstream)

       });
        result = true;
    }
    catch(exception excp)
    {
        //Do something with the exception
    }
}

现在我不确切知道你的代码是如何工作的,但这应该给你一个粗略的想法。