Foros del Web » Programando para Internet » PHP »

Ejecutar un script desde otro

Estas en el tema de Ejecutar un script desde otro en el foro de PHP en Foros del Web. lo siguiente no parece ser muy complicado estoy ejecutando un script con la api de facebook y fue muy sencillo hacerlos funcionar por separado el ...
  #1 (permalink)  
Antiguo 29/06/2011, 23:15
 
Fecha de Ingreso: mayo-2011
Mensajes: 167
Antigüedad: 12 años, 11 meses
Puntos: 1
Ejecutar un script desde otro

lo siguiente no parece ser muy complicado

estoy ejecutando un script con la api de facebook y fue muy sencillo hacerlos funcionar por separado el status message del upload photo el problema es al querer ejecutar los dos script en la misma pagina... me da error 500 de server

se me ocurre ejecutar el primero en la misma pagina(self) y el segundo ejecutarlo en otropagina.php sin necesidade de q la abra en otra ventana.. solo qe se ejecute y ya!! como puedo hacer esto???

aclaro esto es lo mejor que se me ocurre si alguien tiene alguna sugerencia se los agradecere...
y por si las dudas les paso mi codigo como aporte y para ver si hubiera forma de solucinar el por que no puedo hacer las dos funciones al mismo tiempo... GRACIAS!

Script
Código PHP:
Ver original
  1. <?php
  2. require_once 'config.php';
  3. // add a status message
  4. $status = $facebook->api('/'.$ID_PAGINA.'/feed', 'POST', array('message' => 'Hola World =).', 'access_token' => $ACCESS_TOKEN,));
  5. var_dump($status);
  6.  
  7.  
  8. $img = realpath("4107/images/IMG_0677.JPG");
  9. // allow uploads
  10. $facebook->setFileUploadSupport(true);
  11. // add a status message
  12. $photo = $facebook->api('/'.$ID_ALBUM.'/photos', 'POST',
  13.         array(
  14.                 'access_token' => $ACCESS_TOKEN,
  15.                 'source' => '@' . $img,
  16.                 'message' => 'This photo came from my app.'
  17.         )
  18. );
  19. var_dump($photo);
  20. ?>

config.php
Código PHP:
Ver original
  1. <?php
  2. require_once '../facebook-php-sdk/src/facebook.php';
  3. $app_id = "";
  4. $app_secret = "";
  5. $ACCESS_TOKEN = '';  
  6. $ID_ALBUM = '';  
  7. $ID_PAGINA = '';
  8.  
  9. $facebook = new Facebook(array(
  10.         'appId' => $app_id,
  11.         'secret' => $app_secret,
  12.         'cookie' => true
  13. ));
  14. if(is_null($facebook->getUser()))
  15. {
  16.         header("Location:{$facebook->getLoginUrl(array('req_perms' => 'user_status,publish_stream,user_photos'))}");
  17.         exit;
  18. }
  19. ?>
  #2 (permalink)  
Antiguo 30/06/2011, 03:45
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Ejecutar un script desde otro

Comprueba cómo haces la inclusión. Error 500 significa error del servidor, lo cual normalmente indica un fallo en tu código. Copia todo el código en un sólo archivo, utiliza error_reporting para saber qué está pasando.
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 30/06/2011, 07:35
 
Fecha de Ingreso: mayo-2011
Mensajes: 167
Antigüedad: 12 años, 11 meses
Puntos: 1
Respuesta: Ejecutar un script desde otro

Ya se cual es el problema, es la API de face como hago 2 peticiones simultaneas de POST no funciona, estuve leyendo la documentacion de FACEBOOK y lo que sugiere es que lo haga en batch... q yo supongo es procesamiento por lotes y q lo meta todo en arrays para hacer una sola peticion de post, la cosa es que ahora no se como hacerlo... navegando por ahi me encontre con este codigo pero no lo entiendo muy bien :S

Agradezco la ayuda

Código PHP:
Ver original
  1. $facebook = new Facebook(...your stuff here...);
  2. $access_token = ...get your access token however you want...;
  3.  
  4. $batch = array();
  5.  
  6. //build the body of the post first... these are, for the most
  7. //    part, the parameters which would normally be passed as
  8. //    params to the api call
  9. //any param normally passed as an array (such as properties
  10. //    and actions) MUST be json encoded
  11. //remember to urlencode all urls
  12. $body = array(
  13.   'id' => $page_or_user_id,  //I am using this with page id's to maintain
  14.                              //multiple pages at once
  15.   'message' => $message,
  16.   'link' => $link_url,
  17.   'actions' => json_encode(
  18.     array(array('name' => 'Action', 'link' => urlencode($action_url)))
  19.   ),
  20.   'properties' => json_encode(
  21.     array('Link' =>
  22.       array('text' => 'link text', 'href' => urlencode($other_link_url))
  23.     )
  24.   )
  25. );
  26.  
  27. //now build the query to be appended to the api url
  28. //I haven't come up with a better solution than this yet, but
  29. //    obviously it doesn't make sense to url encode all the
  30. //    characters only to decode them immediately after... Didn't
  31. //    want to have to write my own function yet :)
  32. $body = http_build_query($body);
  33. $body = urldecode($body);
  34.  
  35. //now build the request
  36. $request = array(
  37.   'method' => 'POST',
  38.   'relative_url' => 'feed',
  39.   'body' => $body
  40. );
  41.  
  42. //append this to the batch array
  43. $batch[] = $request;
  44.  
  45. //repeat this up to 19 times til you have all your requests in $batch then:
  46.  
  47. $params = array(
  48.   'access_token' => $access_token,  // if this is different for each
  49.                                     // request add this to $request instead
  50.   'batch' => json_encode($batch)
  51. );
  52.  
  53. $facebook->api('/', 'POST', $params);

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:51.