我正在尝试提交一个名为“Watch”的内置Facebook Open Graph Action,但是我一直在与Facebook测试帐户用户发生错误,并且无法弄清楚为什么Facebook拒绝他们自己的“行动”而且他们自己“测试用户”?
根据Facebook,如果不使用测试用户帐户,则无法提交内置的Facebook操作:
Built-in Action Types require that you provide instructions for using your app's Open Graph integration as your Open Graph Test User in a functioning test environment. Failure to provide a functioning test environment will result in rejection of your Action Type.
我有两个测试帐户并选择了“启用代码”按钮,但是当我使用测试用户帐户发布给用户时间线/代码时,我收到此错误:
statusCode: 500
headers: { 'access-control-allow-origin': '*',
'cache-control': 'no-store',
'content-type': 'text/javascript; charset=UTF-8',
expires: 'Sat, 01 Jan 2000 00:00:00 GMT',
pragma: 'no-cache',
'www-authenticate': 'OAuth "Facebook Platform" "unknown_error" "An unexpected error has occurred. Please retry your request later."',
'x-fb-rev': '645172',
'x-fb-debug': 'YwWqAJLmmVbUhG20kfBzoFaX8vlQ/BH25Xzh3CnakOk=',
date: 'Thu, 11 Oct 2012 08:31:40 GMT',
connection: 'keep-alive',
'content-length': '123' }
这就是我发布的内容:
{"host":"graph.facebook.com","port":"443","path":"/me/video.watches?access_token=AAAClql9ZBqlMBAExxkqIGs08NBFJ9FKVfEhQmc5C1ZCBZALgPPsVbMuaOXXsYRaAavX2AsjUWZB2IYTkXm8cyjHAJJqNypbZBKPUlnr5FugZDZD&video=https%3A%2F%2Fpazooza.azurewebsites.net%2FpazoozaVideo%3FogType%3Dfacebook%26id%3D0000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999999_0000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999991","method":"POST"}
关于这一点的愚蠢之处在于它适用于普通(真实用户)帐户,但不适用于Facebook自己的测试帐户。有谁知道他们认为问题可能是什么?我需要使用这些测试帐户启用其他操作才能让他们使用操作吗?
干杯
更新:我还检查了permissions = {“data”:[{“installed”:1,“publish_actions”:1,“user_videos”:1,“bookmarked”:1}]};
所以权限不是问题。我删除了测试用户并重新创建了另一个,但仍然没有运气......
答案 0 :(得分:1)
可能与以下内容有关: Unable to post Open Graph actions as a Test User
请注意沙盒模式现在位于“设置” - > “基本”
答案 1 :(得分:0)
问题是双重的:
1)Facebook的提交行动流程在测试行动的测试人员没有就“为什么他们不批准你的行动”给你很多反馈方面存在局限性。他们只是为您提供文档链接,并假设您的行为不适用于他们的测试用户帐户。本故事的另一部分是测试您的操作的FB测试人员创建“新的”测试用户帐户,无论您创建的测试用户帐户是什么,他们都使用它们。他们有一个名称,如“Auth预览用户”。
2)问题的原因是我正在尝试注册并使用我的应用的所有Facebook用户提出的请求。我正在调用图形api来为每个用户有效地扩展访问令牌长达60天(FB应用程序允许的最大值)。然而,FB测试人员创建的这些“新”测试用户帐户似乎表现出奇怪的行为,并且只有2小时的生命周期。每当我试图扩展其中一个帐户时,我都会收到错误。但是在第二个请求上(例如,如果我留在我的Canvas应用程序中并且只是点击了另一个链接)Facebook会将相同的用户发回给我但是有一个新的access_token和该access_token的到期日期?我认为,这个新令牌有一个更长的有效期。所以我只是将它存储在旧的顶部并消除了我的逻辑错误。显然我不知道为什么FB这样做但是好吧!多么好吃!
在任何一种情况下,我认为我已经了解到,无论何时向FB提交您的操作,都会在说明开头提供尽可能多的信息,然后发送给您复制您的操作。我说的是:
(我已经使用您创建的所有3个预览测试用户帐户测试了此操作,并且每个人都上传了一个示例视频,您收到了什么错误?)
HTH
答案 2 :(得分:0)
有类似的Action类型的审核流程。您需要提交Action类型。如果你不提交这个,它只能用于创建应用程序的帐户或你添加到该应用程序的任何测试人员。检查应用程序设置并提交以供审核。希望它会有所帮助