9

Facebook Developer 在线文档中有测试用户的文档,但是如何删除应用程序不再显示在其应用程序列表中的实际用户?这与 和 的知识access_token有关facebook_user_id

用于删除测试用户:

https://graph.facebook.com/893450345999?method=delete&access_token=A2ADI1YMySweBABBGrWPNwKMlubZA5ZCrQbxwhtlEd9FIQUrOVjsGD3mnIWEbUhzDz7dkuBekMFdHvjvJ9CZAU7EMSSaZBsgN60FkMCi3AAZDZD

运行测试用户链接会产生以下错误:

"error": {
      "message": "(#100) Can only call this method on valid test users for your app",
      "type": "OAuthException",
      "code": 100
   }
4

3 回答 3

13

您寻求申请取消授权:

您可以通过使用该应用的用户 access_token 向 PROFILE_ID/permissions 发出 HTTP DELETE 请求,代表用户取消对应用程序的授权或撤销特定的扩展权限。

许可- 您希望撤销的许可。如果您没有指定权限,那么这将完全取消对应用程序的授权

要实现此问题,请执行以下操作:

https://graph.facebook.com/me/permissions?method=delete&access_token=...

一旦应用程序被取消授权,它将不会出现在用户的应用程序列表中。

2021 年 12 月更新

按照请求和撤销权限的参考:

要删除单个权限,请发出DELETE请求以/{user-id}/permissions/{permission-name}传递用户访问令牌应用访问令牌

要完全取消对应用程序的授权,请向/{user-id}/permissions端点发出类似的请求

于 2012-05-22T22:17:20.390 回答
5

当真实用户从他们的帐户中删除您的应用程序时,他们会从您的应用程序中“删除”自己,您无需执行任何操作。

如果您想知道用户何时像这样对您的应用取消授权,您可以在应用的设置中指定一个取消授权回调 URL 。https://developers.facebook.com/docs/authentication/文档中所述:

移除应用后,我们将发送一个包含单个参数 signed_request 的 HTTP POST 请求,该参数一旦解码,将生成一个 JSON 对象,其中包含刚刚取消对您的应用授权的用户的 user_id。您不会在此请求中收到用户访问令牌,并且之前代表该用户颁发的所有现有用户访问令牌都将失效。

更新:要从用户的授权应用程序中删除您自己的应用程序,请https://graph.facebook.com/[userid]/permissions?access_token=...按照https://developers.facebook.com/docs/reference/api/user/发出 HTTP DELETE 。

通常,Graph API 调用还支持使用额外参数执行 HTTP POST,method=DELETE以防 DELETE 调用不可行/不支持。

于 2012-05-22T22:10:56.440 回答
0

去做吧:

  1. 您必须拥有用户访问令牌。
  2. 访问https://developers.facebook.com/tools/debug/accesstoken/并调试用户访问令牌。
  3. 复制应用范围内的用户 ID
  4. 通过 API 调用 HTTP DELETE 到https://graph.facebook.com/[App-Scoped User ID]/permissions?method=delete&access_token=[YOUR-APP-ACCESS-TOKEN]
于 2021-11-23T21:52:07.863 回答