我一直关注如何使用action_type:send
创建“请求”对话框的Facebook文档Facebook Requests documentation
我想在这里复制这段代码:
Sending requests explicitly stating an action and object:
FB.ui({method: 'apprequests',
message: 'Take this bomb to blast your way to victory!',
action_type:'send',
object_id: 'YOUR_OBJECT_ID' // e.g. '191181717736427'
}, function(response){
console.log(response);
});
我创建了一个包含以下内容的Open Graph:
Action type: send
Object type: gift
但是,我不确定' OBJECT_ID'指的是。
我尝试发布一个Open Graph,然后使用我从POST获得的响应ID并将其插入OBJECT_ID但仍然出现错误
Object with ID '...' cannot be retrieved.
我还尝试插入Facebook页面ID并失败。
我已成功设法创建一个只包含消息的基本“请求”对话框,但当我尝试使用它发送对象/礼物时,我遇到了上述错误。
非常感谢任何帮助,谢谢!
答案 0 :(得分:0)
由于我没有使用此功能,因此我不能100%确定,但我确实在我的应用中设置了操作和对象,以帮助您解决问题。一旦我创建了一个动作和一个对象,我还创建了一个将两者连接在一起的自定义故事(这是我能想出如何链接它们的唯一方法)。完成此操作后,我点击Get Code
下Action Types
下的Open Graph
链接,显示了这一点:
Code for Action
https://graph.facebook.com/me/CANVAS_URL:send?
access_token=ACCESS_TOKEN&
method=POST&
bomb=http%3A%2F%2Fsamples.ogp.me%2FNUMBERSNUMBERSNUMBERS
链接末尾的数字可能是对象ID?我只是猜测,因为我不确定,但也许试一试。它将是%2F
之后的数字,它是正斜杠的URL编码值。
我也注意到你可以改变平台;以上是针对HTTP而下面针对PHP:
$response = $facebook->api(
'me/CANVAS_URL:send',
'POST',
array(
'bomb' => "http://samples.ogp.me/NUMBERS"
)
);
// handle the response
PHP示例更清楚地显示了数字,因为它没有URL编码。
答案 1 :(得分:0)
只是尝试回答object_id部分,从那里你可以从中获取或创建一个。
如果你阅读标题为“为请求创建对象”的App Request的facebook文档,他们在这里提到了如何从你的Facebook仪表板创建自定义对象类型,这些类型位于Open Graphs下。
他们还提到了使用Object Browser。在此处,如果您从列表中选择应用程序名称,对象所有者和类型,它将列出您可以用于在应用程序对话框中传递的所有对象ID。