2013-06-17 1 views
2

я установил facebook SDkКак разместить фото на Подачу facebook страницы - не отвечал на другие

Теперь я могу размещать на стене, как это с ниже код

enter image description here

код для сообщение выше сообщения

 FacebookClient myClient = new FacebookClient(srAcceToken); 
     var dicParams = new Dictionary<string, object>(); 
     dicParams["message"] = "trial message"; 
     dicParams["caption"] = string.Empty; 
     dicParams["description"] = string.Empty; 
     dicParams["name"] = "deneme 123"; 
     dicParams["req_perms"] = "publish_stream"; 
     dicParams["scope"] = "publish_stream"; 
     dicParams["access_token"] = srAcceToken; 
     var publishResponse = myClient.Post("/" + srPageId + "/feed", dicParams); 

Теперь проблема возникает, когда я хочу отправить изображение. Когда я отправляю с помощью ниже кода я получаю это изображение

enter image description here

код для получения выше результата

  var mediaObject = new FacebookMediaObject 
     { 
      ContentType = "image/jpeg", 
      FileName = "pokemon.jpg" 
     }.SetValue(File.ReadAllBytes(Imagepath)); 

     FacebookClient myClient = new FacebookClient(srAcceToken); 
     var dicParams = new Dictionary<string, object>(); 
     dicParams["message"] = "trial message"; 
     dicParams["caption"] = string.Empty; 
     dicParams["description"] = string.Empty; 
     dicParams["name"] = "deneme 123"; 
     dicParams["req_perms"] = "publish_stream"; 
     dicParams["scope"] = "publish_stream"; 
     dicParams["source"] = mediaObject; 
     dicParams["type"] = "normal"; 
     dicParams["access_token"] = srAcceToken; 
     var publishResponse = myClient.Post("/" + srPageId + "/photos", dicParams) 

Но я хочу, чтобы получить возможность отправлять изображения, как показано ниже - как я могу это сделать?

C# 4.5 - с использованием новейших facebook SDK спасибо

enter image description here

+0

Как вы получили srPageId? Я не вижу кода, который устанавливает эту переменную ... – theJerm

ответ

5

надеюсь, что это короткий код поможет вам

Dictionary<string,string> fbParams = new Dictionary<string,string>(); 
      fbParams["message"] = Title; 
      fbParams["caption"] = string.Empty; 
      fbParams["description"] = string.Empty; 
      fbParams["req_perms"] = "publish_stream"; 
      fbParams["scope"] = "publish_stream"; 
      //Initialize Your Facebook Client in the manner that suits you, I did it by supplying a saved access token from a single users 
      FacebookWebClient fbClient = new FacebookWebClient(<YOUR_ACCOUNT_ACCESS_TOKEN>); 
      //Get the listing of accounts associated with the user 
      dynamic fbAccounts = fbClient.Get("/me/accounts"); 

      //Loop over the accounts looking for the ID that matches your destination ID (Fan Page ID) 
      foreach (dynamic account in fbAccounts.data) { 
       if (account.id == <DESTINATION_ID_OF_YOUR_FAN_PAGE>) { 
        //When you find it, grab the associated access token and put it in the Dictionary to pass in the FB Post, then break out. 
        fbParams["access_token"] = account.access_token; 
        break; 
       } 
      } 
      //Then pass your destination ID and target along with FB Post info. You're Done. 
      dynamic publishedResponse = fbClient.Post("/" + <DESTINATION_ID_OF_YOUR_FAN_PAGE> + "/feed", fbParams); 

============== ======================

fbParams ["access_token"] = account.access_token;

Эта линия даст вам доступ, чтобы написать на этой странице