facebook-graph-api - descargar - facebook token
¿Cómo puedo administrar muchas páginas como un usuario administrador sin exceder la cuota de API? (3)
La empresa de mi cliente administra las páginas de Facebook para varios miles de pequeñas empresas. Hemos creado una aplicación de Facebook para que nuestro cliente simplifique el proceso y les permita hacer cambios rápidamente en muchas / todas las páginas de una sola vez.
Por cualquier conjunto de motivos comerciales, nuestra empresa cliente solo tiene UNO de sus empleados como administrador (junto con el propietario de la pequeña empresa) para cada una de estas páginas. Esta cuenta de usuario ha agregado nuestra aplicación y estamos agarrando tokens de página y utilizando esos tokens de página para administrar la página (cambiar la información de contacto, agregar una pestaña, buscar publicaciones en el muro). Estamos enfrentando algunos límites de solicitud de API realmente duros. En este momento solo podemos agregar aproximadamente 3 nuevas páginas de Facebook por minuto (lo que creo que requiere quizás de 6 a 10 llamadas de api cuando todo está dicho y hecho).
He visto personas que estiman que se te permiten aproximadamente 600 solicitudes / 600 segundos para un token de acceso, pero pensé que, dado que estábamos haciendo la mayor parte del trabajo con tokens de página, nuestras acciones no se contarían para un solo límite de API.
¿Alguien sabe con certeza si los límites de api se basan en tokens individuales, incluso si técnicamente pertenecen al mismo usuario? ¿Hay alguna manera de evitar este límite considerando que realmente no puedo agregar más administradores a estas páginas?
Estamos enfrentando algunos límites de solicitud de API realmente duros. En este momento solo podemos agregar aproximadamente 3 nuevas páginas de Facebook por minuto.
Yo no llamaría a esto un límite "duro" en absoluto. Imagínese lo que sucedería si una gran cantidad de aplicaciones crearía cientos o miles de páginas en minutos ... spam spam 1
He visto personas que estiman que se te permiten aproximadamente 600 solicitudes / 600 segundos para un token de acceso, pero pensé que, dado que estábamos haciendo la mayor parte del trabajo con tokens de página, nuestras acciones no se contarían para un solo límite de API.
El límite se aplica basándose únicamente en la ID de la aplicación. Qué es exactamente lo que está haciendo con la API y como quién (usuario, página) no importa.
¿Hay alguna manera de que pueda superar este límite
Agregar una gran cantidad de páginas nuevas en poco tiempo me suena como spam, mucho. No puedo pensar en una buena razón por la que uno quisiera hacer eso.
Como se refirió a @Julio Popócatl, el uso de un token de acceso a la página (generado a partir de un token de usuario de larga duración) podría ser una buena opción.
Estos tokens de acceso a la página una vez que se generaron correctamente, nunca caducarán , por lo que es al menos una consulta menos la que necesita ejecutar.
El límite de solicitudes de API se aplica a cada solicitud, ya sea de usuario, página, aplicación, lo que sea. Siempre le piden algo al esquema de Facebook, sea cual sea la fuente de la solicitud.
El uso de solicitudes por lotes también es una buena idea , ya que sería obtener múltiples datos con una (o menos) solicitudes que hacer cada solicitud individualmente.
En realidad es bastante simple, solo necesita solicitar un token de acceso para la PAGE, no para el usuario.
$mQuery=array(''access_token''=> ''SELECT access_token FROM page WHERE page_id = ''page_id,
''album_id''=> ''SELECT object_id FROM album WHERE owner = ''.page_id.'' AND name = "Timeline Photos"'');
$multiQueryResult = $facebook->api(array(''method''=>''fql.multiquery'', ''queries''=>$mQuery));
La primera línea le proporcionará el token de acceso de ese usuario, y la segunda es solo un ejemplo de uso de multiquery y reducirá sus llamadas.
Puede utilizar un máximo de 50 consultas en un multiquery
Y si desea hacer varias cosas con su página, puede usar la solicitud por lotes. Este es un ejemplo para publicar un estado, puede agregar más, hasta 50 solicitudes de lotes en la misma llamada.
$v[''body''][''message'']=htmlspecialchars_decode($v[''message''], ENT_QUOTES);
$v[''body''][''scheduled_publish_time'']=strtotime($v[''scheduled_publish_time'']);
$v[''body''][''published'']=''false'';
$v[''body'']=http_build_query($v[''body'']);
$batch[]=$v;
try {
$batchresult = $facebook->api("/?batch=".urlencode(json_encode($batch)), ''POST'', array(''access_token''=>$access_token));
} catch (FacebookApiException $e) {
echo $e->getMessage();
}
echo $batchresult;
Espero que esto ayude.