Recibo este error, "(#613) Las llamadas a graph_url_engagement_count han superado la tasa de 10 llamadas por 3600 segundos". entonces quiero mantener las llamadas a la API dentro del límite para un enlace dado.
Nota: Que el límite de 10 llamadas por hora solo aplica para cada enlace.
Esta es la función que estoy usando:
const getFacebookStats = async (link) => { try { const resp = await axios.get( `https://graph.facebook.com/v12.0/?id=${link}&fields=engagement&access_token=${BEARER_TOKEN_FACEBOOK}` ); return resp.data.engagement; } catch (err) { // Handle Error Here console.error(err); } };Cualquier ayuda sería muy apreciada.
Gracias
Resuelto este problema usando caché LRU.
cache.set(link, cache.get(link) == undefined ? 1 : cache.get(link) + 1);Cada vez que el enlace se pasaba a la función getFacebookStats, el enlace y su recuento se almacenaban en la memoria caché de LRU; si se llamaba al mismo enlace varias veces, su recuento aumentaba.
En la configuración de la memoria caché LRU, maxAge se estableció en 1 hora:
maxAge: 1000 * 60 * 60,