您的位置:首页 > 其它

facebook messenger platform开发指南(入门)

2016-05-05 06:19 615 查看


Remarque:此篇译文来自google翻译


入门

这是一个简单的演练,看看在行动平台。阅读完整的指南,以了解功能的更多细节。下面的代码片段是从Node.js的整合。

下面的截图显示了新的App仪表盘这是目前可用的一些开发商。这些功能在下面的使者标签目前的应用程序仪表板提供。


步骤


1.创建一个Facebook应用程序和Facebook页面

创建一个新的Facebook应用程序网页或者使用现有的。Facebook应用程序可以留在沙盒模式和你的网页没有被公开分享范围。该页面的个人资料图片和名称将用于形成你的机器人的“身份”,是什么人会看到,当他们搞的。
转到您的应用程序设置,并在产品设置,单
4000
击“添加产品。” 选择“信使”。



2.设置网络挂接

在“产品设置”部分,单击刚刚添加的“信使”的产品,找到网络挂接部分,然后单击设置网络挂接。输入一个网址给网络挂接,输入验证令牌,并选择
message_deliveries
信息
messaging_optins
messaging_postbacks
下认购领域。


在你的网络连接网址,验证添加代码。您的代码应该寻找验证令牌,并与应对
挑战
的验证请 ​​求发送。点击验证并保存新页认购打电话给你的网络挂接一个
GET
请求。
app.get('/webhook/', function (req, res) {
if (req.query['hub.verify_token'] === '<validation_token>') {
res.send(req.query['hub.challenge']);
}
res.send('Error, wrong validation token');
})


3.获取页面访问令牌

在令牌生成部分,选择您的页面。A页数访问令牌会为你生成。复制此页面访问令牌。注:生成的令牌将在此UI进行保存。每次选择页新的令牌就会生成。然而,创造了以往任何令牌将继续发挥作用。



4.订阅该应用页面

使用在上一步中生成的页面访问令牌,进行下面的调用。这将订阅您的应用程序来获取这个特定页面的更新。
curl -ik -X POST "https://graph.facebook.com/v2.6/me/subscribed_apps?access_token=<token>"


5.接收消息

在您的网络挂接,
POST
调用。在这个例子中,当消息被发送到一个页面我们专门监听回调。
app.post('/webhook/', function (req, res) {
messaging_events = req.body.entry[0].messaging;
for (i = 0; i < messaging_events.length; i++) {
event = req.body.entry[0].messaging[i];
sender = event.sender.id;
if (event.message && event.message.text) {
text = event.message.text;
// Handle a text message from this sender
}
}
res.sendStatus(200);
});

转到你的Facebook页面,并发送一条消息给它。你应该看到消息来你的网络挂接。



6.发送短信

修改我们的网络连接响应的消息回来了。下面是将发回短信,我们发送到页面的无论什么功能。
var token = "<page_access_token>";

function sendTextMessage(sender, text) {
messageData = {
text:text
}
request({
url: 'https://graph.facebook.com/v2.6/me/messages',
qs: {access_token:token},
method: 'POST',
json: {
recipient: {id:sender},
message: messageData,
}
}, function(error, response, body) {
if (error) {
console.log('Error sending message: ', error);
} else if (response.body.error) {
console.log('Error: ', response.body.error);
}
});
}

更换上面的评论
sendTextMessage(sender, "Text received, echo: "+ text.substring(0, 200));




7.发送的结构化消息

信使平台支持模板被称为结构化消息。我们将发回一般性消息模板。
function sendGenericMessage(sender) {
messageData = {
"attachment": {
"type": "template",
"payload": {
"template_type": "generic",
"elements": [{
"title": "First card",
"subtitle": "Element #1 of an hscroll",
"image_url": "http://messengerdemo.parseapp.com/img/rift.png",
"buttons": [{
"type": "web_url",
"url": "https://www.messenger.com/",
"title": "Web url"
}, {
"type": "postback",
"title": "Postback",
"payload": "Payload for first element in a generic bubble",
}],
},{
"title": "Second card",
"subtitle": "Element #2 of an hscroll",
"image_url": "http://messengerdemo.parseapp.com/img/gearvr.png",
"buttons": [{
"type": "postback",
"title": "Postback",
"payload": "Payload for second element in a generic bubble",
}],
}]
}
}
};
request({
url: 'https://graph.facebook.com/v2.6/me/messages',
qs: {access_token:token},
method: 'POST',
json: {
recipient: {id:sender},
message: messageData,
}
}, function(error, response, body) {
if (error) {
console.log('Error sending message: ', error);
} else if (response.body.error) {
console.log('Error: ', response.body.error);
}
});
}

此外,修改我们的网络挂接到我们发送邮件“通用”的任何时间发回的结构化消息。
if (text === 'Generic') {
sendGenericMessage(sender);
continue;
}




8.处理回发

在最后一步,我们发送的结构化的消息了回发。回发是后端调用你的网络挂接当按钮被窃听。这些调用包含
有效载荷
被设定为按钮。结构化信息按钮支持打开URL和回传。
让我们修改我们的网络挂接处理回发事件。
if (event.postback) {
text = JSON.stringify(event.postback);
sendTextMessage(sender, "Postback received: "+text.substring(0, 200), token);
continue;
}




下一步

你已经完成了演练。进入完全指南阅读所有关于不同的东西,你可以用Messenger平台做些事。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: