Facebook Messenger sdk 贴纸

Posted

技术标签:

【中文标题】Facebook Messenger sdk 贴纸【英文标题】:Facebook messenger sdk stickers 【发布时间】:2016-08-05 13:08:04 【问题描述】:

是否可以使用 Facebook Messenger 的新 API 发送原生贴纸?

我尝试使用以下代码,但贴纸显示为下载的图像,而不是原生形式

    messageData = 
        "attachment":
            "type":'image',
            "payload":
                "url":stickerURL
                   
        
    
 else 
    messageData = 
        text:content
    


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);
    
);

【问题讨论】:

【参考方案1】:

目前看来无法通过 Messenger 机器人发送贴纸。如果您检查包含原生贴纸的消息数据,它看起来像这样:

 
  mid: 'mid.14647894...',
  seq: 3199,
  sticker_id: 1433995916873384,
  attachments: [ 
     
       type: 'image',
       payload:  
           url: 'https://fbcdn-dragon-a.akamaihd.net/hphotos-ak-xta1/t39.1997-6/p100x100/10173492_1433995920206717_978513924_n.png?_nc_ad=z-m' 
        
     
  ]

而且它与 messenger bot 指南中描述的结构不同(注意它有一个 sticker_id 字段)。

【讨论】:

【参考方案2】:

如果您使用来自https://github.com/Schmavery/facebook-chat-api/ 的 facebook 聊天机器人 API,您可以发送这样的贴纸:

 var msg = 
    body: "",
    sticker: 1433995916873384
  
  api.sendMessage(msg, message.threadID);

但是,如果有人有办法获得更多贴纸 ID,那就太棒了!感谢以上@starshine wang

编辑:要获取贴纸 ID,请 console.log 从 api.listen 返回的消息对象。它有类型贴纸

【讨论】:

以上是关于Facebook Messenger sdk 贴纸的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法使用 facebook SDK 在 facebook messenger 上共享链接

使用 FB Message Dialog iphone sdk 打开 facebook messenger

有没有办法在没有 SDK 的情况下在 facebook messenger 上分享文本?

深度链接到 Facebook Messenger

Facebook Messenger 平台 ngrok

比微信落后了 Facebook Messenger上线移动支付