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);
});
}
quinta-feira, 19 de setembro de 2013
quinta-feira, 5 de setembro de 2013
Trófeu Gambiarra MVC
Hoje esbarrei com um problema com rotas no meu adorado MVC.
Se você colocar isso:
context.MapRoute(
"Facebook",
"Facebook/{controller}/{action}/{id}",
new { controller = "Usuario", action = "Inicio", id = UrlParameter.Optional },
new[] { typeof(UsuarioController).Namespace }
);
context.MapRoute(
"Corretores",
"Corretores/{controller}/{action}/{id}",
new { controller = "Usuario", action = "Inicio", id = UrlParameter.Optional },
new[] { typeof(UsuarioController).Namespace }
);
context.MapRoute(
"Facebook",
"Facebook/{controller}/{action}/{id}",
new { controller = "Usuario", action = "Inicio", id = UrlParameter.Optional },
new[] { typeof(UsuarioController).Namespace }
);
context.MapRoute(
"Corretores",
"Corretores/{controller}/{action}/{id}",
new { controller = "Usuario", action = "Inicio", id = UrlParameter.Optional },
new[] { typeof(UsuarioController).Namespace }
);
Quando
você estiver em uma página com a url /Corretores, os links apontarão
para /Facebook. Não só isso, se houver redirecionamento (ex: RedirectToAction, no controller), também irá para /Facebook. Para consertar isso, você pode fazer a coisa horrorosa
abaixo e tudo ficará bem (menos a sua consciência).
context.MapRoute(
"Facebook",
"Face{book}/{controller}/{action}/{id}",
new { controller = "Usuario", action = "Inicio", id = UrlParameter.Optional },
new[] { typeof(UsuarioController).Namespace }
);
context.MapRoute(
"Corretores",
"Corretores/{controller}/{action}/{id}",
new { controller = "Usuario", action = "Inicio", id = UrlParameter.Optional },
new[] { typeof(UsuarioController).Namespace }
);
Assinar:
Postagens (Atom)