https://developers.facebook.com/apps/{id_de_tu_app}/app-review/permissions/
Mostrando entradas con la etiqueta API Facebook. Mostrar todas las entradas
Mostrando entradas con la etiqueta API Facebook. Mostrar todas las entradas
API Facebook: ver los permisos que tiene tu APP
Como conseguir un Access Token de Instagram
Tienes que enlazar el developers de tu Facebook con el de tu Instagram:
https://docs.oceanwp.org/article/487-how-to-get-instagram-access-token
Teniendo ya una access token podemos obtener el Id del usuario en Instagram y su username:
https://graph.instagram.com/me?fields=id,username&access_token=IGQVJXOGlLTXXXXX
Obtener todos los post publicados:
https://graph.instagram.com/me/media?fields=id,caption,media_type,media_url,username,timestamp&access_token=IGQVJXOGlLTXXXX
A partir del id del post obtener la foto y demás campos:
https://graph.instagram.com/17968599999937219?fields=id,media_type,media_url,username,timestamp&access_token=IGQVJXOGlLZXXXX
Más información en: https://developers.facebook.com/docs/instagram-basic-display-api/getting-started
Ejemplo general:
$json = file_get_contents("https://graph.instagram.com/me?fields=id,username,media_count&access_token=".IG_ACCESS_TOKEN);
$arr = json_decode($json);
echo "<br>ID: ".$arr->id;
echo "<br>Username: ".$arr->username;
echo "<br>media_count: ".$arr->media_count;
echo "<hr>";
$json = file_get_contents("https://graph.instagram.com/me/media?fields=id,caption,media_type,media_url,username,timestamp,permalink&access_token=".IG_ACCESS_TOKEN);
$arr = json_decode($json);
foreach ($arr->data as $clave=>$valor) {
echo("<br><b>id:</b> ".$arr->data[$clave]->id);
echo("<br><b>caption:</b> ".$arr->data[$clave]->caption);
echo("<br><b>media_type:</b> ".$arr->data[$clave]->media_type);
echo("<br><b>media_url:</b> ".$arr->data[$clave]->media_url);
echo("<br><b>username:</b> ".$arr->data[$clave]->username);
echo("<br><b>timestamp: </b>".$arr->data[$clave]->timestamp);
echo("<br><b>permalink: </b>".$arr->data[$clave]->permalink);
echo "<hr>";
}
// comentarios
// Id de un Post: 18016037245432610
// Esto solo funciona para las cuentas empresariales de Instagram
$jpon = file_get_contents("https://graph.facebook.com/v15.0/18016037245432610?fields=timestamp&access_token=".IG_ACCESS_TOKEN);
API Facebook: Obtener información de una página de Facebook
1. Crear la App. Crear su APP_ID y Secret_ID.
2. Entrar en https://developers.facebook.com/tools/explorer/{{APP_ID}}/
3. Marcar a la izquierda los permisos que vayas a necesitar.
4. Generar un Access Token
5. En la url de GET por ejemplo:
Escrito directamente en un navegador sería:
https://graph.facebook.com/nombredelapagina?access_token=xxxx&fields=id,global_brand_page_name,category,username,new_like_count,posts{id}
6. Ir añadiendo/quitando en el menú de la derecha los campos que quieras mostrar.
2. Entrar en https://developers.facebook.com/tools/explorer/{{APP_ID}}/
3. Marcar a la izquierda los permisos que vayas a necesitar.
4. Generar un Access Token
5. En la url de GET por ejemplo:
nombredelapagina?access_token=xxxx&fields=id,global_brand_page_name,category,username,new_like_count,posts{id}
Escrito directamente en un navegador sería:
https://graph.facebook.com/nombredelapagina?access_token=xxxx&fields=id,global_brand_page_name,category,username,new_like_count,posts{id}
6. Ir añadiendo/quitando en el menú de la derecha los campos que quieras mostrar.
API Facebook: Login con Facebook
1. Crear en https://developers.facebook.com/ una APP.
2. De esta manera ya obtienes el ID de la APP. 3. En la APP que has creado "Iniciar sesión con el SDK de JavaScript" y poner el dominio desde el cual se va a llamar.
4. El código completo en https://developers.facebook.com/docs/facebook-login/web
2. De esta manera ya obtienes el ID de la APP. 3. En la APP que has creado "Iniciar sesión con el SDK de JavaScript" y poner el dominio desde el cual se va a llamar.
4. El código completo en https://developers.facebook.com/docs/facebook-login/web
Compartir url en redes sociales
La forma más sencilla:
https://www.addtoany.com/buttons/for/website
Generar el código y ponerlo en tu web (en el caso de Linkedin hace caso omiso a las metas de og, simplemente coge la primera imagen que encuentra)
https://www.addtoany.com/buttons/for/website
Generar el código y ponerlo en tu web (en el caso de Linkedin hace caso omiso a las metas de og, simplemente coge la primera imagen que encuentra)
Añadir el chat de messenger de Facebook a tu propia web
Debes tener previamente creada una página en Facebook, entras con tu cuenta:
https://www.facebook.com/mipaginaweb/
Y le das a configuración y en el menú de la izquierda a "Mensajes":
https://www.facebook.com/eldespotricadorcinefilo/settings/?tab=messaging&ref=page_edit
Elegir "Añade Messenger a tu sitio web" y seguir todos los pasos.
Al final te genera un código que el que tienes que poner en tu web:
De esta manera cualquier persona con cuenta en Facebook podrá escribir mensajes en ese chat y te llegarán a tu bandeja de entrada de tu web en Facebook.
https://www.facebook.com/mipaginaweb/
Y le das a configuración y en el menú de la izquierda a "Mensajes":
https://www.facebook.com/eldespotricadorcinefilo/settings/?tab=messaging&ref=page_edit
Elegir "Añade Messenger a tu sitio web" y seguir todos los pasos.
Al final te genera un código que el que tienes que poner en tu web:
<!-- Load Facebook SDK for JavaScript -->
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
xfbml : true,
version : 'v7.0'
});
};
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = 'https://connect.facebook.net/es_ES/sdk/xfbml.customerchat.js';
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<!-- Your customer chat code -->
<div class="fb-customerchat"
attribution=setup_tool
page_id="166xxxx97466"
logged_in_greeting="Hola, ¿en qué puedo ayudarte?"
logged_out_greeting="Hola, ¿en qué puedo ayudarte?">
</div>
De esta manera cualquier persona con cuenta en Facebook podrá escribir mensajes en ese chat y te llegarán a tu bandeja de entrada de tu web en Facebook.
Facebook, Twitter y Linkedin: Metas para compartir
<meta property="og:type" content="website"/>
<meta property='og:url' content='https://www.youtube.com/watch?v=Kvj_qEPgPps' />
<meta property="og:title" content="Atrápame si puedes (2002) de Steven Spielberg"/>
<meta property="og:description" content="Atrápame si puedes (2002) de Steven Spielberg">
<meta property="og:image" content="https://www.midominio.com/images/rrss/facebook.jpg">
<meta name="twitter:card" content="summary"/>
<meta name="twitter:url" content="https://www.youtube.com/watch?v=Kvj_qEPgPps"/>
<meta name="twitter:title" content="Atrápame si puedes (2002) de Steven Spielberg"/>
<meta name="twitter:description" content="Atrápame si puedes (2002) de Steven Spielberg"/>
<meta name="twitter:image" content="https://i2.ytimg.com/vi/Kvj_qEPgPps/default.jpg"/>
Información de Twitter:
https://developer.twitter.com/en/docs/tweets/optimize-with-cards/overview/summary
Para Linkedin los metas son los mismos que Facebook pero es aconsejable también añadir:
<meta property="og:image:secure_url" content="https://www.midominio.com/images/rrss/linkedin.jpg">
Para chequearlo en FB:
https://developers.facebook.com/tools/debug/
Para chequearlo en Twitter:
https://cards-dev.twitter.com/validator
Para chequearlo en Linkedin:
https://www.linkedin.com/post-inspector/inspect/
Si en Twitter te diera el error de:
Fetching the page failed because it's denied by robots.txt
Para solucionarlo hay que poner en nuestro robots.txt:
User-agent: Twitterbot
allow:
Más información en: https://www.flimper.com/blog/es/que-es-open-graph-y-como-se-hace
Ejemplo de compartir vídeo de YouTube:
<a href="https://www.facebook.com/sharer/sharer.php?u=https://www.youtube.com/watch?v=Y8UFpmqYTMY">xxx</a>
<a href="https://twitter.com/intent/tweet?url=https://www.youtube.com/watch?v=Y8UFpmqYTMY&text=prueba">xxx</a>
<a href="https://www.linkedin.com/sharing/share-offsite/?url=https://www.youtube.com/embed/Y8UFpmqYTMY">xxx</a>
<a href="https://api.whatsapp.com/send?text=https://www.youtube.com/watch?v=Y8UFpmqYTMY">xxx</a>
Ejemplo de compartir imagen:
<a href="https://www.facebook.com/sharer/sharer.php?u=https://www.midominio.com/imagenes/slide20191106105324.jpg">xxx</a>
<a href="https://twitter.com/intent/tweet?url=https://www.midominio.com/twitter.php?id=3">xxx</a>
En twitter.php debe tener los metas de twitter:
<?php
require("inc_config.php");
$sql = "SELECT * FROM mitabla where id = ".$id;
$db->query($sql);
$db->next_record();
$imagenShare = $base."imagenes/noticias/".$db->Record["imagen"];
$titleShare = $db->Record["titular"];
?>
<!DOCTYPE html>
<html>
<head>
<meta name="twitter:card" content="summary" />
<meta name="twitter:site" content="@loquesea" />
<meta name="twitter:title" content="<?=$titleShare;?>" />
<meta name="twitter:description" content="<?=$titleShare;?>" />
<meta name="twitter:image" content="<?=$imagenShare;?>" />
<meta property="og:image:secure_url" content="<?=$imagenShare;?>">
</head>
<body>
<img src="<?=$imagenShare;?>">
</body>
</html>
<a href="https://www.linkedin.com/sharing/share-offsite/?url=https://www.midominio.com/imagenes/slide20191105125558.jpg">xxx</a>
<a href="https://api.whatsapp.com/send?text=https://www.midominio.com/imagenes/slide20191105125558.jpg">xxx</a>
Añadir "Me Gusta" de Facebook y Twitter a cualquier página de tu web
<div style="background-color: #000;border: 1px solid #fff;padding: 10px;width:50%;margin:0 auto;">
<div>
<?php
$linkFacebook = $_SERVER["REQUEST_URI"];
$urlTotalTW = $_SERVER["SERVER_NAME"]."/".$_SERVER["PHP_SELF"];
?>
<div class="fb-like" data-href="<?=$linkFacebook;?>"
data-width="300" data-layout="standard" data-action="like"
data-show-faces="true" data-share="true"></div>
<div>
<a class="twitter-share-button" href="<?=$urlTotalTW;?>" data-size="large"> Tweet</a>
</div>
<!-- TW -->
<a href="https://twitter.com/despoCinefilo" class="twitter-follow-button" data-show-count="false" data-lang="es">@despoCinefilo</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
</div>
</div>
Mostrar en tu web todos los likes de tu página en Facebook mostrando también la foto de los usuarios
<iframe class="fgroup" src="http://www.facebook.com/plugins/likebox.php?href=https://www.facebook.com/eldespotricadorcinefilo&width=450&height=330&colorscheme=light&show_faces=true&header=false&stream=false&show_border=false" scrolling="no" frameborder="0" style="border:2px solid #EEEEEE; overflow:hidden; width:450px; height:330px;" allowTransparency="true"></iframe>
API Facebook: Obtener datos al loguearte y obtener la fotografía grande del usuario
<html>
<body>
<button class='facebook-btn' onclick="ingresar();"><i class="fa fa-facebook"></i>Ingresar con Facebook</button>
</body>
<script src="//code.jquery.com/jquery-1.12.4.min.js"></script>
<script>
window.fbAsyncInit = function () {
FB.init({
appId: 'xxxx',
xfbml: true,
cookie : true,
version: 'v2.7'
});
};
(function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {
return;
}
js = d.createElement(s);
js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
var idFB = 0;
function ingresar() {
FB.login(function (response) {
FB.getLoginStatus(function (response) {
if (response.status == 'connected') {
FB.api('/me',{
fields: 'first_name,last_name,age_range,link,gender,locale,picture,timezone,updated_time,verified,email,cover'
}, function (response) {
idFB = response.id;
FB.api(
"/"+idFB+"/picture?height=960",
function (response) {
console.log(idFB);
console.log(response);
$.ajax({
type: 'POST',
url: './guardarFoto.php',
data: {
fotoFB: response.data.url
},
dataType: 'jsonp',
complete: function () {
}
})
}
);
});
} else if (response.status == 'not_authorized') {
alert('Debes autorizar la app!');
} else {
alert('Debes ingresar a tu cuenta de Facebook!');
}
});
}, {scope: 'public_profile, email',return_scopes: true});
}
</script>
En guardarFoto.php:
<?php
$img = './la_foto.jpg';
file_put_contents($img, file_get_contents($_POST["fotoFB"]));
?>
API Facebook: Obtener todos los datos de un usuario
Registrar una APP en https://developers.facebook.com/ para obtener las claves
<!DOCTYPE html>
<html>
<head>
<title>Facebook Login JavaScript Example</title>
<meta charset="UTF-8">
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
</head>
<body style="background-color:#2C2961;color:#FFF;margin:0 auto;width:800px;">
<script>
// This is called with the results from from FB.getLoginStatus().
function statusChangeCallback(response) {
console.log('statusChangeCallback');
console.log(response);
// The response object is returned with a status field that lets the
// app know the current login status of the person.
// Full docs on the response object can be found in the documentation
// for FB.getLoginStatus().
if (response.status === 'connected') {
// Logged into your app and Facebook.
testAPI();
} else if (response.status === 'not_authorized') {
// The person is logged into Facebook, but not your app.
document.getElementById('status').innerHTML = 'Please log ' +
'into this app.';
} else {
// The person is not logged into Facebook, so we're not sure if
// they are logged into this app or not.
document.getElementById('status').innerHTML = 'Por favor, identifícate con tu cuenta de Facebook para que podamos obtener tus datos personales, tu cumpleaños, tu país y tu ciudad para poder almacenarlos en nuestra base de datos';
}
}
// This function is called when someone finishes with the Login
// Button. See the onlogin handler attached to it in the sample
// code below.
function checkLoginState() {
FB.getLoginStatus(function(response) {
statusChangeCallback(response);
});
}
window.fbAsyncInit = function() {
FB.init({
appId : 'xxx',
cookie : true, // enable cookies to allow the server to access
// the session
xfbml : true, // parse social plugins on this page
version : 'v2.2' // use version 2.2
});
// Now that we've initialized the JavaScript SDK, we call
// FB.getLoginStatus(). This function gets the state of the
// person visiting this page and can return one of three states to
// the callback you provide. They can be:
//
// 1. Logged into your app ('connected')
// 2. Logged into Facebook, but not your app ('not_authorized')
// 3. Not logged into Facebook and can't tell if they are logged into
// your app or not.
//
// These three cases are handled in the callback function.
FB.getLoginStatus(function(response) {
statusChangeCallback(response);
});
};
// Load the SDK asynchronously
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
function show_props(obj, objName) {
var result = "";
for (var i in obj) {
result += objName + "." + i + " = " + obj[i] + "<br>";
}
return result;
}
function testAPI() {
// console.log('Welcome! Fetching your information.... ');
FB.api('/me?fields=id,name,email,first_name,last_name,picture,birthday,location', function(response) {
console.log(response);
arr = response.location.name.split(" ");
arr[0] = arr[0].replace(",","");
arr[0] = arr[0].replace(" ","");
arr[1] = arr[1].replace(" ","");
// alert(arr[0]);
// alert(arr[1]);
var otra_ciudad = arr[0];
var cp = "";
var id_pais = 0;
if (arr[1] == "Spain") {
cp = "28033";
id_pais = 73;
}
arr = response.birthday.split("/");
var fecha_nacimiento = arr[1]+"/"+arr[0]+"/"+arr[2];
var azar = Math.floor((Math.random() * 999) + 1);
var username = "FB_"+response.first_name.substr(0,4)+"_"+response.last_name.substr(0,4)+"_"+azar;
<?php
// Generar contraseña aleatoria
$cadena = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
$longitudCadena = strlen($cadena);
$pass = "";
$longitudPW = 10;
for($i=1 ; $i<=$longitudPW ; $i++){
$pos=rand(0,$longitudCadena-1);
$pass .= substr($cadena,$pos,1);
}
?>
var html = '';
html += '<form id="form_reg_linkedin" name="form_reg_linkedin" action="<?=$rutaReg;?>" method="POST">';
html += '<input type="hidden" name="nombre_completo" value="'+response.first_name+" "+response.last_name+'">';
html += '<input type="hidden" name="email" value="'+response.email+'">';
html += '<input type="hidden" name="esRegLinkedin" value="1">';
html += '<input type="hidden" name="id_pais" value="'+id_pais+'">';
html += '<input type="hidden" name="otra_ciudad" value="'+otra_ciudad+'">';
html += '<input type="hidden" name="cp" value="'+cp+'">';
html += '<input type="hidden" name="fecha_nacimiento" value="'+fecha_nacimiento+'">';
html += '<input type="hidden" name="nif" value="2222">';
html += '<input type="hidden" name="username" value="'+username+'">';
html += '<input type="hidden" name="pw1" value="<?=$pass;?>">';
html += '</form>';
$("#divHTML").html(html);
$(function() {
$("#form_reg_linkedin").submit();
});
});
}
</script>
<fb:login-button scope="public_profile,email,user_birthday,user_location,user_website,user_friends" onlogin="checkLoginState();">
</fb:login-button>
<div id="status">
</div>
<div id="divHTML" name="divHTML" style="margin-top:20px;"></div>
</body>
</html>
API Facebook: Operaciones
CREAR CUENTA Y SU CORRESPONDIENTE WEB
- Crear cuenta en www.facebook.com usando redessociales@nombredominio.
- Crear una página para esa cuenta: le das a la ruedita (arriba a la izquierda) y seleccionas "Crear página" (se llamará "Web nombredominio", por ejemplo "Web miempresa.es") (rellenar todos los datos: son 4 pantallas rellenando datos de la empresa)
-----------------------
HACER QUE TODO LO QUE SE PUBLIQUE EN BLOGGER SE PUBLIQUE EN FACEBOOK
- Iniciar sesión con Facebook.
- Entrar en https://apps.facebook.com/rssgraffiti/, das permiso a esa aplicación para poder publicar en tu facebook. Una vez dados los permisos le das a Add New Publishing Plan (le pones el nombre de tu blog: por ejemplo Mi Empresa)
- Le das a SOURCES -> add New y escribes por ejemplo miempresa.blogspot.com/atom.xml
- En las opciones de Basic y Avanzado puedes configurar algunas cosas (cuántos post permites al día, cada cuánto tiempo busca nuevos post, si quieres publicar el titular más el texto, etc).
- Hacer que las entradas de blogger se publiquen en nuestra página y no en nuestro muro:
- Target -> Add New
- Del combo eliges la página de FB en la que quieres publicar (por ejemplo pruebas MiEmpresa)
- Cuando salves todo pulsas el botón OFF y se podrán a ON y ya publicará
Más información en:
http://www.terrenoblogger.co/2013/04/Publicar-Automaticamente-las-Entradas-en-Facebook-Twitter-y-Google-plus.html
-------------------------------
FACEBOOK ME GUSTA
a) Logueate en Facebook
b) Entra en https://developers.facebook.com/docs/reference/plugins/like/
c) Ahí especificas la web que quieres poner (Ej: www.miempresa.es), el tamaño del botón, el formato y otras características.
d) das a Get Code
--------------------------------------
- Crear cuenta en www.facebook.com usando redessociales@nombredominio.
- Crear una página para esa cuenta: le das a la ruedita (arriba a la izquierda) y seleccionas "Crear página" (se llamará "Web nombredominio", por ejemplo "Web miempresa.es") (rellenar todos los datos: son 4 pantallas rellenando datos de la empresa)
-----------------------
HACER QUE TODO LO QUE SE PUBLIQUE EN BLOGGER SE PUBLIQUE EN FACEBOOK
- Iniciar sesión con Facebook.
- Entrar en https://apps.facebook.com/rssgraffiti/, das permiso a esa aplicación para poder publicar en tu facebook. Una vez dados los permisos le das a Add New Publishing Plan (le pones el nombre de tu blog: por ejemplo Mi Empresa)
- Le das a SOURCES -> add New y escribes por ejemplo miempresa.blogspot.com/atom.xml
- En las opciones de Basic y Avanzado puedes configurar algunas cosas (cuántos post permites al día, cada cuánto tiempo busca nuevos post, si quieres publicar el titular más el texto, etc).
- Hacer que las entradas de blogger se publiquen en nuestra página y no en nuestro muro:
- Target -> Add New
- Del combo eliges la página de FB en la que quieres publicar (por ejemplo pruebas MiEmpresa)
- Cuando salves todo pulsas el botón OFF y se podrán a ON y ya publicará
Más información en:
http://www.terrenoblogger.co/2013/04/Publicar-Automaticamente-las-Entradas-en-Facebook-Twitter-y-Google-plus.html
-------------------------------
FACEBOOK ME GUSTA
a) Logueate en Facebook
b) Entra en https://developers.facebook.com/docs/reference/plugins/like/
c) Ahí especificas la web que quieres poner (Ej: www.miempresa.es), el tamaño del botón, el formato y otras características.
d) das a Get Code
--------------------------------------
API Facebook: Loguearse con la cuenta de Facebook
En https://developers.facebook.com crear aplicación y obtener:
ID de la aplicación
App Secret
Configuration:
a) Display Name: Loguearse en mi web
b) Namespace: loguerarse_en_mi_web
c) App Domains: www.miweb.com
d) URL del sitio: http://www.miweb.com
e) Mobile Site URL: http://www.miweb.com
Status&Review:
Do you want to make this app and all its live features available to the general public?: YES
-------------------------------------
Ejemplo:
https://github.com/leandrosiegar/repositorio/tree/master/facebook
ID de la aplicación
App Secret
Configuration:
a) Display Name: Loguearse en mi web
b) Namespace: loguerarse_en_mi_web
c) App Domains: www.miweb.com
d) URL del sitio: http://www.miweb.com
e) Mobile Site URL: http://www.miweb.com
Status&Review:
Do you want to make this app and all its live features available to the general public?: YES
-------------------------------------
Ejemplo:
https://github.com/leandrosiegar/repositorio/tree/master/facebook
Suscribirse a:
Entradas (Atom)
