2

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

但是我现在面临一个问题,当有一个您无权向其发布的群组时,我无法完成向其他群组发布

这是我把它放在其他类中的 post 函数

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;
    }
}
4

1 回答 1

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
    }
}

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

于 2012-11-29T22:06:50.700 回答