Estoy usando el siguiente código para publicar en Facebook:

require('facebook.php');

$fb = new Facebook(array('appId' => 'MY APP ID','secret' => 'MY APP SECRET','cookie' => true));

$result = false;
$feed_dir = '/401868882779/feed/';  //to the UID you want to send to
$acToken = "MY ACCESS TOKEN";
$url = 'URL';
$link = $url . 'event.php?id=' . $id;
if (isset($picture))
{
    $picture = $url . 'uploads/' . $picture;
}
else
{
    $picture = $url . 'images/blank100x70.png';
}
$msg_body = array('access_token' => $acToken,'name' => $noe_unsecured,'message' => $link,'link' => $link,'description' => $description_unsecured,'picture' => $picture);

try
{
    $result = $fb->api($feed_dir, 'post', $msg_body);
} 
catch (Exception $e)
{     
        $err_str = $e->getMessage();
}

pero necesito actualizar el token de acceso de forma manual cada vez que cambia. Estoy seguro de que hay solución, pero no puedo encontrar.. he intentado un montón de secuencias de comandos y nada funcionó.

InformationsquelleAutor Ron | 2011-10-02

4 Comentarios

  1. 1

    Dependiendo de cuando se realice la publicación en el muro, puede que tenga que solicitar la offline_access permiso. Esto convertirá tu access_token en un formato que no expira, entonces no habría ninguna necesidad de actualizar el token.

    • Me pidió offline_access pero todavía tengo que actualizar el token. Tal vez yo no solicite a la derecha?… ¿cuál es la dirección para pedir offline_access?
    • Que no necesita el offline_access permiso para publicar mientras el usuario está fuera de línea!
    • No es el punto de offline_access a las solicitudes de subvención de la capacidad para realizar acciones, incluso mientras el usuario está suscrito a cabo? Eso es lo que el nombre del permiso, incluso se implican. Voy a tener que ejecutar algunas pruebas para ver acerca de este. También, usted puede comprobar qué permisos se conceden por el token de acceso mediante el Herramienta de Depuración.
    • Resultado de la Herramienta de Depuración mediante mi trabajo actual access_token (me censuraron algunas de la información) access_token: 2705******47|30f5e4518a92******3a1afc.0-100000677182|**9pk1Nxum****JHUsfMDM Info de debuger: ID de la Aplicación: 2705******47, ID de Usuario: 100000677***182, Caduca: Nunca, Válido: True, Origen: Desconocido, Ámbitos: create_note correo electrónico offline_access photo_upload publish_stream read_stream share_item status_update video_upload
  2. 0

    Una solución simple…quitar la access_token!

    Usted simplemente no necesita de esto como de que usted tiene el publish_stream permiso!

    • Si puedo quitar el access_token, necesito cambiar el $msg_body = ... a $msg_body = array('name' => $noe_unsecured ....?
    • Sí quite. Una vez que usted tiene el publish_stream el permiso necesario para la access_token O offline_access permiso
    • Usa este facebook.com/… para conceder publish_stream, y luego se retira el access_token de mi script, pero no funciona (no publicó nada sobre la pared..)
  3. 0

    Creo que hay varios métodos para hacer esto:

    – puede utilizar el método de lo previsto en el PHP SDK getAccessToken que devuelve el actual token de acceso siendo utilizado por el sdk de instancia, más info en esta dirección url.

    – Sin embargo, usted no necesita el uso de un token de acceso para llamar a la api() método, una vez que solicite el usuario para el publish_stream permiso, como ya se ha mencionado por @ifaour. Por lo tanto, puedes hacer algo como este ejemplo, desplácese a la subpartida un enlace al Post de un Usuario de la pared utilizando el Gráfico de la API de.

    – Entonces, usted tiene otros tres opciones

    i) obtener un nuevo token de acceso utilizando el método aquí, si vas a publicar cuando el usuario está utilizando actualmente su aplicación, de lo contrario usted puede intentar las siguientes 2 opciones

    ii) obtener el acceso sin conexión

    iii) no estoy seguro de esto, pero es posible que desee probar con una aplicación token de acceso que puede ser obtenida de esta manera.

    • Cuando yo uso getAccessToken me sale el siguiente error: «Invalid token de acceso de OAuth de la firma.» – No me da la plena access_token…
    • u obtener el error al llamar a la función o cuando se utiliza el token después de conseguir a partir de la llamada?
    • después de la llamada.
    • Bueno, en realidad la u quiere manejar la expirado tokens de acceso, getAccessToken no hacerlo. U deberá enviar al usuario a través de la autenticación de flujo de nuevo, (que parecería una actualización de la página a un usuario que ha iniciado sesión y la autenticación de una sesión de usuario, consulte developers.facebook.com/blog/post/500), o de pedir el acceso sin conexión, que es otra permiso extendido, por lo que acaba de poner offline_access en su ámbito de permisos.
    • He offline_access permiso – pero no ayuda (véase el comentario sobre Chaney Blu respuesta)

Dejar respuesta

Please enter your comment!
Please enter your name here