当前位置: 首页 > 知识库问答 >
问题:

限制对Facebook graph_url_engagement_count的调用

谢唯
2023-03-14

我收到此错误,“(#613) 对graph_url_engagement_count的调用已超过每 3600 秒 10 次调用的速率”,因此我想将对 API 的调用保持在给定链接的限制内。

注意:每小时10次通话的限制仅适用于每个链接。

这是我正在使用的函数:

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);
  }
};

任何帮助都将不胜感激。

谢谢你

共有1个答案

谢财
2023-03-14

使用LRU缓存解决了这个问题。

cache.set(link, cache.get(link) == undefined ? 1 : cache.get(link) + 1);

每次将链接传递到 getFacebookStats 函数时,链接及其计数都存储在 LRU 缓存中,如果多次调用同一链接,则其计数将递增。

在LRU缓存的设置中,maxAge设置为1小时:

maxAge: 1000 * 60 * 60,
 类似资料:
  • JVM文档说明short是作为int实现的,所以我想知道使用它是否有好处。它是否使用更少的内存或处理速度更快?

  • 问题内容: 我试图在不重新创建存根的情况下编译由IBM的WSDL2Java在Java5上创建的Java 1.4代码,并在Eclipse中看到此错误。我的假设是,只要运行时jar可用(它们存在),生成的存根就应该编译。 完整的班级名称是 这到底是怎么回事?这是我要用香肠重构猪的情况吗?我最好重新创建存根吗? 问题答案: 还有另一个解决方案,也可以。 转到项目属性中的“ 构建路径”设置。 删除JRE系

  • 我试图使用Twilio API(使用节点Twilio包装器)实现语音调用,如果调用没有应答,则需要重试x次。似乎如果我忽略了Twilio的呼叫,它会自动继续尝试。那么,我有没有办法将retying限制设置为特定的次数? 提前谢谢。

  • 问题内容: 我在Eclipse中收到以下错误消息: 这是什么意思?在同一主题上还有另一个SO问题,但在这种情况下似乎不适用。我没有创建一个新的Java类,而是尝试使用一个。 问题答案: 猜测您正在使用的另一个库也需要Apache Commons I /O,但是版本不同。拥有一段代码(以传递方式)可以访问同一软件包的两个版本有些棘手。您可能可以安排它,以便您的代码和其他库使用相同的版本。使用CLAS

  • 问题内容: 我正在尝试设置用于访问智能卡的PKCS11提供程序。我在系统上安装了PKCS11库,并遵循了《Java PKCS#11参考指南》中的说明 。在参考中,他们只是创建一个实例,并将配置文件的名称传递给构造函数。当我尝试编译以下代码时 我收到以下错误。 访问限制:由于必需的库/usr/lib/jvm/java-6-sun-1.6.0.24/jre/lib/ext/sunpkcs11.jar受

  • 视图处理功能概念未优化: ·不能在视图上创建索引。 ·对于使用MERGE算法处理的视图,可以使用索引。但是,对于使用临时表算法处理的视图,不能在其基表上利用索引提供的优点(尽管能够在临时表的生成过程中使用索引)。 在视图的FROM子句中不能使用子查询。未来该限制将被放宽。 存在一个一般原则,不能更改某一表并在子查询的相同表内进行选择。请参见I.3节,“对子查询的限制”。 如果从表选择了视图并接着从