quinta-feira, 19 de setembro de 2013

Mudando foto de capa

Para mudar a foto da capa de uma fanpage no facebook via api javascript:
(cria um álbum na fanpage da pessoa, e precisa das permissões manage_pages,publish_stream,photo_upload,user_photos)

var fanpageID = "id da minha fanpage";

function acaoDeCapa()
{
    $(".meu-link").click(function() {
       
        var tudo = $(this).parent();
        var imagem = tudo.find("img").attr("src");
        var local = location.protocol + "//" + location.host;
        var caminho = local + imagem;

        var nomeAlbum = 'Album de Capas';

        FB.api('/' + fanpageID + '?fields=access_token', function (response) {

            FB.api('/' + fanpageID + '/albums', function(albuns) {

                var access_token = response.access_token;

                mudarImagem(albuns, nomeAlbum, access_token, caminho);
            });

        });
    });

}

function mudarImagem(albuns, nomeAlbum, access_token, caminho)
{
    var albumid = pegarAlbum(albuns, nomeAlbum);

    if (albumid != "")
    {
        subirImagem(access_token, albumid, caminho);
        return;
    }

    var album_params = {
        access_token: access_token,
        name: nomeAlbum,
        message: nomeAlbum
    };

    FB.api('/' + fanpageID + '/albums', 'post', album_params, function(album) {

        subirImagem(access_token, album.id, caminho);

    });
}

function pegarAlbum(albuns, nomeAlbum)
{
    for(var a in albuns.data)
    {
        var album = albuns.data[a];

        if (album.name == nomeAlbum)
        {
            return album.id;
        }
    }

    return "";
}

function subirImagem(access_token, album_id, caminho)
{
    if (caminho.indexOf("http://localhost") > -1)
        caminho = "http://upload.wikimedia.org/wikipedia/commons/2/22/Turkish_Van_Cat.jpg";

    var imagem = { access_token: access_token, url: caminho };

    FB.api("/" + album_id + "/photos", "post", imagem, function (imagem_facebook) {

        mudarCover(access_token, imagem_facebook.id);

    });
}

function mudarCover(access_token, imagem_id)
{
    var cover = { access_token: access_token, cover: imagem_id, offset_y: 0 };

    FB.api('/' + fanpageID, 'post', cover, function(response_cover) {
                       
        console.log(response_cover);

    });
}

Nenhum comentário:

Postar um comentário