Estoy usando Facebook SDK para publicar algunas publicaciones en el muro de prueba en mi propia página de Facebook. Lo que quiero es publicar en mi página de Facebook cada 8 horas usando el script PHP CRON y para eso tengo que pasar por alto la página de diálogo de inicio de sesión de Facebook. ¿Alguien sabe cómo autenticar desde la línea de comandos o en el aire?¿Cómo autenticar facebook sdk sin página de diálogo de inicio de sesión?
Respuesta
Authenticating as a Page le dará un token de acceso que puede guardar en su base de datos y luego realizar varias tareas utilizando PHP.
Esto es útil para hacer varias cosas usando cron, como programar publicaciones, mantener varias páginas, publicar en varias páginas a la vez, cargar fotos y muchas otras actividades usando Graph API. Consulte sus documentos para obtener más información sobre cómo hacerlo.
Nota: Solo tiene que autenticar su aplicación una vez y guardar su clave de token de acceso a la página, una vez que hace esto, no tiene que volver a iniciar sesión y puede usar su token de acceso para realizar varias tareas en su página .
No, no hay forma de eludir la página de diálogo de inicio de sesión de Facebook, aunque para su caso puede recuperar la clave de acceso extendida y usarla para publicar en su muro. Se puede utilizar el siguiente código utilizando el SDK de PHP para recuperar el token de acceso
$extendedToken = $facebook->setExtendedAccessToken();
$facebook->api('<PAGE_ID>?fields=access_token');
Entonces sólo tiene que utilizar
$facebook->setAccessToken();
a publicar en su página. Recuerde obtener el permiso antes de generar el token de acceso extendido.
Facebook proporciona un token de acceso para que un usuario use la aplicación de Facebook. Por primera vez, el usuario debe iniciar sesión a través del inicio de sesión de Facebook, luego de iniciar sesión en el sitio, le pedirá permiso para acceder a la aplicación. Una vez que el usuario acepte, Facebook le devolverá un código a través de la url. Usted tiene que tomar el código y usarlo para obtener acceso de ficha
mediante el uso siguiente código
$url = "https://graph.facebook.com/oauth/access_token?client_id=". $yourappId ."&redirect_uri=". urlencode($this->redirect_url) ."&client_secret=". $youappsecret."&code=". $code;
$auth_token = $this->getContents($url);
$str = explode('=',$auth_token);
$token = explode('&expires', $str[1]);
Aquí $ testigo tendrá el token de acceso de un usuario, u puede almacenar esa señal en ur db local y Usa ese token para publicar un mensaje en Facebook. es simple ... eso es todo.
para publicar un mensaje en el Fb pared
$fb_id = "User_fb_id"
$access_token = "User_Access_Token_Take by Above code"
$msg = "Message_to_post"
$img_path = "Image_Path"
$facebook = new Facebook(array(
'appId' => $this->appId,
'secret' => $this->secret,
'cookie' => true));
if($msg != NULL) {
$attachment = array(
'message' => $msg,
'name' => 'NHM',
'picture' => $img_path);
}
try {$result = $facebook->api('/'. $fb_id . '/feed/',
'post',
$attachment);
if(isset($result['id']))
return true;
else
return false;
} catch(FacebookApiException $e) {
return $e->getMessage();
}
Aquí tienes a ID de usuario de Facebook del usuario. Para obtener ID de usuario utilizar el siguiente código
$url = "https://graph.facebook.com/me?access_token=". $access_token;
$userInfo = $this->getContents($url);
$userInfo = json_decode($userInfo, true);
public function getContents($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$content = curl_exec ($ch);
curl_close ($ch);
return $content;
}
Prueba esto. Avísame si hay problemas
¿Qué es $ this-> getContents no puedo encontrar ningún nombre de método como este en Facebook SDK –
Agregué la función getContents. Perdón por haber perdido ese. –
En lugar de llamar a la función, puede colocar el código directamente. –
- 1. Facebook PHP SDK, cómo mantener un inicio de sesión persistente
- 2. iPhone SDK/Facebook Connect: usando un diálogo de inicio de sesión personalizado
- 3. Iniciando sesión sin mostrar una página de inicio de sesión
- 4. Facebook iOS SDK - Idioma incorrecto en la página de inicio de sesión/autenticación
- 5. El diálogo de inicio de sesión en Facebook no funciona en el simulador iOS6
- 6. Facebook Clave de acceso sin conexión e inicio de sesión
- 7. Facebook iOS SDK Parámetros de diálogo
- 8. Facebook cierre de sesión C# SDK
- 9. Facebook iOS Safari "No se puede abrir el error de página" al autenticar usuario con inicio de sesión único
- 10. ¿Cómo cerrar un diálogo de Facebook SDK abierto con FB.ui()?
- 11. Diálogo de inicio de sesión PyQt
- 12. Autenticar usuario de inicio de sesión con Twitter
- 13. SDK de Facebook: la ventana emergente de inicio de sesión de iOS6 no puede descartarse
- 14. Facebook ¿Iniciar sesión como complemento del inicio de sesión existente?
- 15. Facebook API: quiero silenciar (sin cuadro de diálogo) autenticar mi servidor para acceder a la información de una fan page
- 16. iOS: ¿Cómo autenticar a un usuario después de iniciar sesión (para inicio de sesión automático)?
- 17. Facebook JS SDK: la ventana emergente de inicio de sesión no se cierra
- 18. DotNetOpenAuth - Facebook - ¿Cómo puedo autenticar usuarios sin forzarlos a instalar una aplicación de Facebook?
- 19. Facebook iOS SDK: actualizar un token de acceso expirado sin presentar un cuadro de diálogo
- 20. página de inicio de sesión en phpmyadmin
- 21. Iniciar sesión en Django sin autenticar
- 22. Facebook: Pantalla en blanco en el inicio de sesión FB
- 23. Problema de cierre de sesión con facebook iOS sdk
- 24. iOS - Facebook Connect cerrar sesión sin borrar los datos de inicio de sesión.
- 25. Cierre de sesión de Facebook C# SDK en WP7
- 26. Incorporación de inicio de sesión de Facebook, usando Facebook php-sdk (v.3.0.0), con sesiones y cookies
- 27. Cómo funciona el cierre de sesión en Facebook SDK Android
- 28. Facebook SDK 3.1 iOS: Gestionar el inicio de sesión si el usuario elimina la aplicación de la configuración de Facebook
- 29. El inicio de sesión de Facebook arroja "Permiso denegado"
- 30. Autenticación Ajax sin dejar que aparezca el diálogo de inicio de sesión del navegador
¿No vence el token? –
Sí, se vencerá. Pero puede extender el token haciendo una llamada a la API y obteniendo un token de larga duración (máximo de validez de 60 días), luego puede guardarlo en su base de datos. –