【问题标题】:Facebook messenger sdk stickersFacebook Messenger sdk 贴纸
【发布时间】: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);
    }
});

【问题讨论】:

    标签: facebook bots messenger facebook-messenger


    【解决方案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 返回的消息对象。它有类型贴纸

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-04
        • 1970-01-01
        • 2015-10-11
        • 2014-12-30
        相关资源
        最近更新 更多