Facebook Graph API,无效/丢失的权限,试图在Webhook中读取Leadgen数据



我遇到了一个问题

页面管理员用户登录,我们请求以下权限:manage_pages,pages_show_list,lines_retrieval,public_profile。

然后,我们设置了一个网络钩以从Leadgen形式获取引线。

我们还创建了一个长期活的令牌并将其存储在服务器中。一旦我们拥有所有这些设置,Facebook将通过配置的Webhook向我们发送任何Leadgen数据。

数据看起来像这样(省略了敏感数据):

{
    "entry": [
    {
        "changes": [
        {
            "field": "leadgen",
            "value": {
                "created_time": ...,
                "page_id": "...",
                "form_id": "...",
                "leadgen_id": "..."
            }
        }
    ],
    "id": "...",
    "time": ...
    }
  ],
  "object": "page"
}

我们通过/{ledsgen_id}端点检索引线数据,然后长期存在的令牌。

直到今天,我们才遇到任何问题,我们试图与另一家业务联系并收到这一点:

CRM access has been revoked from Lead Access Manager.

经过一项研究,我们注意到我们必须要求用户在以下方面启用我们的Facebook应用程序:业务设置 -> Integrations->引导访问 -> CRM

似乎我们的其他用户在管理Leads访问中设置了默认设置:默认情况下,{Company Name}的所有页面Admins和已连接的CRM可以访问Leads。

但是,在激活Lead Access Manager的公司中,当我们查询/{Leadgen_id}端点时,我们收到此错误:

{
  "error": {
    "message": "Unsupported get request. Object with ID '...' does not exist, cannot be loaded due to missing permissions, or does not support this operation. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api",
    "type": "GraphMethodException",
    "code": 100,
    "error_subcode": 33,
    "fbtrace_id": "..."
  }
}

我们尝试访问https://developers.facebook.com/tools/visibles,但这并不能让我们了解该错误。

除了我们访问https://developers.facebook.com/support/

时,我们还会遇到错误
App health status
Your app received privacy errors during a recent Graph API request. As a result, your app may not function properly until the issue is resolved.

我猜想我们必须要求其他许可或其他许可,但是在这种情况下,我们应该要求什么或哪个许可。

有什么想法?

如果有人想知道如何在2020年底解决这种情况,这是我为解决问题所做的工作(假设您在页面上有业务管理角色)

  1. 在业务设置页面中创建系统用户,添加资产并选择您的页面
  2. 转到集成 - >领导访问,选择您的页面并分配人员,然后选择您新创建的系统用户
  3. 返回系统用户菜单并生成系统用户令牌,您至少需要ads_management, pages_read_engagement, pages_show_list, pages_manage_metadata, leads_retrieval, pages_manage_ads的权限才能阅读潜在客户详细信息
  4. 复制您生成的令牌,并将其用作访问令牌,用于访问您的Leadgen_ID

上面的步骤假设您只需要检索潜在客户的细节即可。如果您打算使用页面访问令牌,则必须将用户添加到Leads Access ,然后您可以继续使用自己的访问令牌

继续创建应用程序页面访问令牌令牌

好的,所以似乎是因为一个用户创建了令牌,然后由于某种原因而被另一个用户对其进行了更新,这导致了错误。两个用户都是同一页面的管理员。

我仍然需要调试其确切原因,但是问题是我们在该图API上发送另一个令牌。

最新更新