0

我有一個Facebook應用程序,用戶可以在其中訂閱。要訂閱,我創建了一個PHP網頁,用戶可以使用他的Facebook帳戶信息登錄並登錄我將用戶ID和訪問令牌存儲到我的MySQL DB中。然後我將所有訪問令牌作爲XML文件發送到我的應用程序。上傳圖片到多個Facebook賬號在C#

現在,我要發佈狀態和照片給訂閱用戶帳戶。但是當我想要將照片上傳到帳戶時,我必須在每次發佈操作中將照片上傳到每個帳戶,並且此方法毫無用處。

我張貼代碼如下:

public static bool PostImage(string ImageDesc, string ImagePath) 
    { 
     try 
     { 
      string accesstoken = ""; 

      if (ImagePath.Length < 0) 
       return false; 

      int progressMaxValue = Controller.participants.Descendants("participant").Count(); 
      int increment = 100/progressMaxValue; 

      PostImageCPanel.progressBar1.Value = 0; 
      foreach (XElement xe in Controller.participants.Descendants("participant")) 
      { 
       try 
       { 
        accesstoken = xe.Attribute("access_token").Value; 

        FacebookClient client = new FacebookClient(accesstoken); 
        var imageStream = File.OpenRead(ImagePath); 


        dynamic res = client.Post("/me/photos", new 
        { 
         message = (ImageDesc"), 
         file = new FacebookMediaStream 
         { 
          ContentType = "image/jpg", 
          FileName = Path.GetFileName(ImagePath) 
         }.SetValue(imageStream) 

        }); 
        PostImageCPanel.progressBar1.Value += increment; 
       } 
       catch (FacebookOAuthException ex) 
       { 
        MessageBox.Show(ex); 
       }      
      } 

於是,我問,如果我能照片上傳到MySQL數據庫的只有一次,然後將其上傳至Facebook賬戶,而不是上傳的參與者每次爲每個帳戶。 或另一種更快發佈照片的方法。

回答

0

是的,你可以,我只是做了測試前2天,對我來說工作正常CronJobs。 對你來說這也需要一些時間,因爲每次你發佈照片時,facebook都會再次上傳它。

+0

Islam先生,其實我也跟着你的視頻發佈在我的Facebook牆上,他們是偉大的經驗,但我想在點擊發布對許多人來說,我不希望將照片上傳到每個參與者賬戶。我不知道什麼是CronJobs! – SSMZ 2013-03-08 14:02:02

+0

感謝你的話,但是你缺少明白的東西,我會給你一個方法:先加後的所有細節,你的數據庫我假設你已經表稱爲'posts'上傳服務器上的圖像,只有在保存文件名錶 - 那麼你必須有另一個名爲'users'的表,其中包含用戶id,access_tokens。並且無論您的應用程序是桌面還是網頁,都會對用戶進行循環,並從帖子發佈您需要的內容。希望你明白了!如果不要忘記標記爲答案。 – 2013-03-08 14:24:17

+0

感謝您的演唱會。我希望你能發佈你係列的其他視頻。 但我怎樣才能張貼照片到代碼中的每個配置文件? 我使用C#SDK,我認爲我可以通過這些參數是:消息來源,圖片等。 如果你的代碼上傳照片MySQL服務器這將是對我非常有用因爲我嘗試了很多在互聯網上可用的代碼,而且它們是無用的 – SSMZ 2013-03-08 19:36:52