为什么 Facebook Graph API 说我的帐户不活跃?

Why does Facebook Graph API say my account is non-active?

我们有一些代码使用 Facebook Open Graph API 在我们的主页上显示一些 post。它最初是由以前的开发人员开发的,我在 ASP.NET MVC 中为我们的主页重写了它(之前它是 PHP,我相信它是在 iframe 中加载的)。当时我用的是留给我的app ID和secret。这已经运作良好了几年。今天下午,我们的网站开始出现错误:"Access to this data is temporarily disabled for non-active accounts due to changes we are making to the Facebook Platform"。

没有汗水。我想我只需要更新我们的 ID 和密码。不幸的是,似乎没有人记得控制该应用程序 ID 的用户 ID。没有汗水。我会自己做的。不幸的是,我用来访问 posts 的任何 ID 和秘密——即使是我自己在完全与工作无关的页面上的 posts——returns 同样的访问错误。我可以获得姓名或封面或其他一些字段,但只要我请求任何 posts,我就会收到错误消息。

这是我正在尝试的示例:

https://graph.facebook.com/MyCompanyName?fields=cover,name,likes,link,posts.limit(5){created_time,message,link,type,full_picture,picture,source,icon}&access_token=bunchofnumbers|bunchofnumbersandletters

我知道 https://developers.facebook.com/status/issues/205942813488872/ 的状态 post,但我想我一定做错了什么,因为我什至无法创建新的 appID 来获取 post .

为什么 Facebook Graph API 说我的帐户不活跃?

谢谢。

我的理解是,如果您不是生产应用程序,他们会出于特定原因限制您。不清楚是因为 Cambridge Leak,还是升级 instagram api。

我也收到了同样的错误,但是,如果您正在测试,您可以将图表 api 资源管理器令牌硬编码到您的应用中以继续测试...

var data {
    'accessToken': 'EEAC...',
}

FB.api('/' + id, getData, data, (_response) => {
    console.log(_response);
});

我遇到了这个问题。它是自动解决的。我认为这是 Facebook 的问题。

请阅读这篇文章:

Mark Zuckerberg apologises for Facebook's 'mistakes' over Cambridge Analytica

剑桥大学研究员 Aleksandr Kogan 曾使用一款应用程序提取超过 5000 万人的信息,然后将其转移到 Cambridge Analytica 用于商业和政治用途。

因此 facebook 正在更改其政策,以使个人数据更加安全。

在那之前你无能为力。

我通过从获取的字段列表

中删除事件解决了我网站上的问题

对我来说,如果我只留下一个字段就可以了 - "name"。如果我添加 "link" and/or "events" 字段它 returns 错误

什么是问题? 此错误是由于 Facebook 最近采取的行动造成的。他们说“由于我们正在对 Facebook 平台进行更改,non-active 帐户对某些类型的 API 数据的访问已暂停”因此,如果您的帐户是 non-active 并且您使用那么您可能会在插件中遇到此错误。 Facebook 问题 link 是

什么时候解决? Facebook 暂时禁用了一些 non-active 帐户,因为他们提到他们没有给出任何估计时间来解决问题,但它应该很快就会被激活。

您可以在 facebook Event API here

上找到更多更新

我们今天开始在我们的平台上看到同样的错误消息。我认为有几件事是联系在一起的:

  1. 正如其他人所提到的,鉴于 Cambridge Analytica 事件,Facebook 做出了快速而重要的反应,以加强数据保护和隐私。据我了解,不良行为者利用了访问用户数据(通过图形)的能力,而该应用程序与该应用程序没有活跃的 first-party 关系。所以,有点像“6 度分离”如何让你得到整个地球,few-hundred-thousand 用户的 1 度分离直接让应用程序访问大约 5000 万用户......或类似的东西。 FB 现在正在尽其所能来锁定这些东西,这很重要。
  2. 您的错误的具体原因是您在 fields 参数中要求的内容发生了飞跃(从 myCompany 或 OAuth 的 User/App谁的 access_token 你正在使用)到一个相关的 item/items,FB 现在认为必须与你的 Company/App/User 有 "active" first-party/direct 关系才能访问。这就是为什么您会看到有些含糊不清的“non-active accounts”。我认为他们的意思是它不是 "active with you or your app".

我不确定您请求的 fields 中的哪一个有问题,但某些 trial-and-error 会引导您找到它。对我们来说,很明显:我们要求的是用户有权访问的所有组的成员。我们不需要它,所以我们将其删除,错误消失了。

现在我正在使用 Facebook Open Graph API。每次我想 access/get 我是管理员的组的成员(及其基本信息)时,我都会遇到这个错误。

{
  "error": {
 "message": "(#200) Access to this data is temporarily disabled for non-active accounts due to changes we are making to the Facebook Platform",
"type": "OAuthException",
"code": 200,
"fbtrace_id": "Byueyj6MtkoIx"
 }
}

在试错之间@JoshChristy 得到了所有想要的结果!经过几个小时的研究,我们发现 facebook 将一些帐户识别为 "non-active" 和一些 "active"(我不知道基于什么!),因为我在 facebook 上非常活跃。 所以,如果您收到此错误,则表示您在 Facebook 上不够活跃 ;)

Facebook 今天更新了条款和条件 https://developers.facebook.com/docs/graph-api/changelog/breaking-changes/?translation&hc_location=ufi#groups-4-4

我能够使用以下方法获取 Facebook 页面访问令牌。

对于可能 已经拥有 已审核应用的任何人,可以使用该应用的详细信息作为临时修复,直到 Facebook 完成其 API 增强功能。这意味着您必须将相关的重定向 URI 添加到已审核的应用程序,并使用该应用程序的 App Id 和 App Secret。

这适用于检索页面提要和潜在客户,但我无法检索对话。另外我请求的权限是 { scope: 'ads_management,ads_read,manage_pages' }

在我们的例子中,我们检索了一个页面 access_token,其页面 ID 使用如下:

this.call('v2.12/'+pageid, 'GET', {fields: "access_token"}, token)

以您提到的错误结束。

但是,我们采用了正常方法,现在一切看起来都不错。 https://developers.facebook.com/docs/facebook-login/access-tokens#pagetokens

同样的事情我也注意到了,他们保留了我的潜在客户广告 运行 并向我收费,尽管他们阻止了数据。

幸运的是,直接进入广告管理器您仍然可以下载 CSV/XLS 文件。