none
Como postar uma Foto no Facebook ?

    Pergunta

  • Olá pessoal , eu já consigo postar textos no facebook e agora gostaria de postar uma foto.

    Abaixo vou explicar como consigo postar um texto para saber se estou no caminho certo.

    1 - Autorização: Primeiro acesso a página de login usando o link abaixo:

    string AUTHORIZE = "https://graph.facebook.com/oauth/authorize";
    string ConsumerKey = "[Minha consumerkey]";
    string CALLBACK = "https://minha.pagina.de.retorno.caso.autorize/";
    string scope =
            @"publish_stream,offline_access,
            user_location, email, user_about_me,user_birthday,user_education_history,user_groups,user_interests,
            user_likes,user_photo_video_tags,user_photos,user_religion_politics,user_work_history,
            friends_about_me,friends_activities,friends_birthday,friends_education_history,friends_groups,
            friends_interests,friends_likes,friends_photo_video_tags,friends_photos,friends_relationships,
            friends_religion_politics,friends_work_history,friends_location,friends_hometown";
    
    string link = string.Format("{0}?client_id={1}&redirect_uri={2}&scope={3}",
            new object[] { AUTHORIZE, this.ConsumerKey, CALLBACK, scope }
          );
    //Acessa o login
    Response.Redirect(link);
    


    2 - Obter token de acesso: Na página de retorno é recebido um parâmetro GET chamado "code" e este deve ser usado para obter o tokende acesso:

    string ACCESS_TOKEN = "https://graph.facebook.com/oauth/access_token";
    string ConsumerKey ="[minha consumer key]";
    string ConsumerSecret = "[minha consumer secret]";
    string CALLBACK = "https://minha.página.de.retorno/"; 
    string code = Request["code"];
    
    string link = string.Format("{0}?client_id={1}&redirect_uri={2}&client_secret={3}&code={4}",
          ACCESS_TOKEN, ConsumerKey, CALLBACK, ConsumerSecret, code);
    
    //GetWebResponse:Minha função de invoke já já posto o código dela
    string response = GetWebResponse(link); 
    //observe que na resposta vem um parâmetro access_token e este deve ser capturado
    string Token="";
    if (response.Length > 0)
          {
            NameValueCollection qs = HttpUtility.ParseQueryString(response);
    
            if (qs["access_token"] != null)
            { Token = qs["access_token"]; }
          } 
    
    //Agora guarde este token para ser utilizado no acesso as funções e métodos do facebook!
    


    Abaixo minha função que invoca funções web, e esta deve ser utilizada para invocar os links abaixo:

    public static string GetWebResponse(string Url, string PostData)
        {
          System.Net.HttpWebResponse rp =null;
          System.IO.StreamReader sr =null;
          try
          {
            System.Net.HttpWebRequest rq = ((System.Net.HttpWebRequest)System.Net.WebRequest.Create(Url));
    
            if (!string.IsNullOrEmpty(PostData))
            {
              rq.Method = "POST";
              rq.ContentType = "application/x-www-form-urlencoded";
              StreamWriter rw = new StreamWriter(rq.GetRequestStream());
              rw.Write(PostData);
              rw.Close();
              rw = null;
            }
    
            rp = (System.Net.HttpWebResponse)rq.GetResponse();
            sr = new System.IO.StreamReader(rp.GetResponseStream());
            return sr.ReadToEnd();
          }
          finally 
          {
            if (rp != null)
            { rp.Close(); }
    
            if (sr != null)
            { sr.Close(); }
    
            rp = null;
            sr = null;
          }
        }
    


    3 - Métodos: Os métodos abaixo necessitam do token que foi capturado acima, então substitua quando ou informar "[token]":

    Método1 - Retornando as informações do usuário:

    https://graph.facebook.com/me?access_token=[token]

    Método2 - Retornando as amigos do usuário:

    https://graph.facebook.com/me/friends?access_token=[token]

    Método3 - Postar um texto no wall do facebook:

    https://graph.facebook.com/me/feeds?access_token=[token]&message=Ola Mundo!!!

    Método4 - Postar um link no wall do facebook:

    https://graph.facebook.com/me/links?access_token=[token]&message=Ola Mundo!!!&link=http://link.externo/&description=Testeapp

     

    Gostaria de saber agora como faço para postar uma foto?

     

    sexta-feira, 4 de novembro de 2011 11:45

Respostas