This project is read-only.

How I List My Facebook Photos in Asp.Net?

Feb 18, 2010 at 1:41 PM

Hello everyone!

I am using the API version 2.0.0 and I can return my profile, friends and albums.
But I can not list my photos.

In my page "aspx" is so:  

<asp:DataList ID="DataListAlbuns" runat="server" CellPadding="4" ForeColor="#333333" onitemdatabound="DataListAlbuns_ItemDataBound">   
    <AlternatingItemStyle BackColor="White" />   
    <FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />   
    <HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />   
    <ItemStyle BackColor="#E3EAEB" />   
    <ItemTemplate>   
        <asp:Label ID="lblAlbum" runat="server" Text="Title of the Album"></asp:Label><br/>   
        <asp:Literal ID="ltlImagem" runat="server"></asp:Literal>   
    </ItemTemplate>   
    <SelectedItemStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />   
</asp:DataList> 

And in my page "aspx.cs" so:

protected facebook.Components.FacebookService _fbService = new facebook.Components.FacebookService();   
  
    private void ListarImagens()   
    {   
        this.DataListAlbuns.DataSource = _fbService.photos.getAlbums();   
        this.DataListAlbuns.DataBind();   
    }   
  
    protected void DataListAlbuns_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)   
    {   
        Label lblAlbum;   
        Literal ltlImagem;   
        facebook.Schema.album Album = e.Item.DataItem as facebook.Schema.album;   
  
        //Title of the Album.   
        lblAlbum = (Label)e.Item.FindControl("lblAlbum");   
        lblAlbum.Text = "<b>" + Album.name + "</b>";   
  
        //Photos of the Album.   
        IList<facebook.Schema.photo> Fotos = _fbService.photos.get("ID USER", long.Parse("ID ALBUM"), null);   
        foreach (facebook.Schema.photo Foto in Fotos)   
        {   
            ltlImagem = (Literal)e.Item.FindControl("ltlImagem");   
            ltlImagem.Text = "<img src='" + Foto.src_small + "' border='0' alt='" + Foto.caption + "'>";   
        }   
    }  

But the "_fbService.photos.get" I do not return anything! I have 3 pictures published and has not returned any of them.

Method _fbService.photos.get () asks for 3 parameters:

<param name="subj_id">Filter by photos tagged with this user. </ param>
<param name="aid"> Filter by photos in this album. </ param>
<param name="pids"> Filter by photos in this list. This is a comma-separated list of pids. </ Param>

I send the "subj_id" and "aid" and not get any return. Has anyone encountered this problem? Any tips?

Thank you very much
Roberto Munhoz

 

============== PORTUGUESE VERSION ================

 

Olá para todos!

Estou utilizando o API versão 2.0.0 e consigo retorno do meu perfil, amigos e albuns.
Mas NÃO consigo listar minhas fotos.

Na minha página "aspx" está assim:

<asp:DataList ID="DataListAlbuns" runat="server" CellPadding="4" ForeColor="#333333" onitemdatabound="DataListAlbuns_ItemDataBound">   
    <AlternatingItemStyle BackColor="White" />   
    <FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />   
    <HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />   
    <ItemStyle BackColor="#E3EAEB" />   
    <ItemTemplate>   
        <asp:Label ID="lblAlbum" runat="server" Text="Titulo do Album"></asp:Label><br/>   
        <asp:Literal ID="ltlImagem" runat="server"></asp:Literal>   
    </ItemTemplate>   
    <SelectedItemStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />   
</asp:DataList>

E na minha página "aspx.cs" assim:

protected facebook.Components.FacebookService _fbService = new facebook.Components.FacebookService();   
  
    private void ListarImagens()   
    {   
        this.DataListAlbuns.DataSource = _fbService.photos.getAlbums();   
        this.DataListAlbuns.DataBind();   
    }   
  
    protected void DataListAlbuns_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)   
    {   
        Label lblAlbum;   
        Literal ltlImagem;   
        facebook.Schema.album Album = e.Item.DataItem as facebook.Schema.album;   
  
        //Titulo do Álbum.   
        lblAlbum = (Label)e.Item.FindControl("lblAlbum");   
        lblAlbum.Text = "<b>" + Album.name + "</b>";   
  
        //Fotos do Álbum.   
        IList<facebook.Schema.photo> Fotos = _fbService.photos.get("ID DO USUÁRIO", long.Parse("ID DO ALBUM"), null);   
        foreach (facebook.Schema.photo Foto in Fotos)   
        {   
            ltlImagem = (Literal)e.Item.FindControl("ltlImagem");   
            ltlImagem.Text = "<img src='" + Foto.src_small + "' border='0' alt='" + Foto.caption + "'>";   
        }   
    }

Só que a função "_fbService.photos.get" não me retorna nada! Tenho 3 fotos publicadas e não tenho retorno de nenhuma delas.

O método _fbService.photos.get() pede 3 parâmetros:

<param name="subj_id">Filter by photos tagged with this user.</param>
<param name="aid">Filter by photos in this album.</param>
<param name="pids">Filter by photos in this list. This is a comma-separated list of pids.</param>

Eu envio o "subj_id" e o "aid" e não obtenho retorno nenhum. Alguém já se deparou com esse mesmo problema? Alguma dica?

Muito obrigado
Roberto Munhoz