facebook access_token aclaración

Tengo una aplicación de Facebook que se supone que debe enviar algunas notificaciones a sus usuarios. Esto lo hará un cron, y encontré dos formas de obtener el access_token necesarios para realizar esta acción:

1.

$app_token = file_get_contents("https://graph.facebook.com/oauth/access_token?" .
    "client_id=" . appid .
    "&client_secret=" . secret .
    "&grant_type=client_credentials");

2.

$fb = new Facebook(array('appId' => appid, 'secret' => secret, 'cookie' => true));
$app_token = $fb->getAccessToken(),

Puedo entender que hay dos formas diferentes de obtener el access_token, pero ¿Por qué obtengo valores diferentes? de los dos métodos? [ambos funcionan igual por lo que he notado]

Quiero saber cuál es la diferencia y cuál es el mejor método para obtener un access_token.

preguntado el 16 de abril de 13 a las 08:04

Supongo que cada vez que hagas una solicitud obtendrás un token diferente, ¿verdad? Las dos formas anteriores disparan dos llamadas diferentes y, por lo tanto, devuelven un token diferente. Puede que me equivoque, pero esa es mi percepción. -

3 Respuestas

Disparar al punto final de oauth siempre le dará el token de larga duración, que es diferente al de corta duración.

Respondido 16 Abr '13, 11:04

Creo que la segunda opción es buena. Porque en el futuro, Facebook puede cambiar la URL para obtener el token de acceso. Pero en la segunda opción, está utilizando oAuth y es más seguro. Es posible que deba cambiar el SDK que usa. Eso es todo.

Respondido 16 Abr '13, 10:04

La diferencia principal es que la segunda no requiere una solicitud http para obtener el token de acceso a las aplicaciones, simplemente concatene la identificación del cliente y el secreto del cliente con '|'.

Ejemplo client_id 'abc' y client_secret 'def', luego 'abc|def' está listo para usar cuando llame https://graph.facebook.com/app?access_token=abc|def

Respondido 16 Abr '13, 12:04

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.