我需要编写一些代码,以在Facebook Messenger中获取图像网址并将其转换为图像。
但是,使用image-to-base64或fetch-base64将不起作用,因为facebook有效负载URL的末尾带有时间戳,而这些工具要求URL以.jpg或.png结尾。
网址格式:
https://scontent.fhan2-4.fna.fbcdn.net/v/t1.15752-0/p480x480/60251115_627131164420267_474161086648549376_n.png?_nc_cat=100&_nc_oc=AQmldFK_xUgJPT-rqrk4bxLivk8ispusU5THY7br4ZpvNTfcYVrfU-rBFlIX9cwUzaw&_nc_ht=scontent.fhan2-4.fna&oh=140ea3424f8fa6a9085b3ae88281fa51&oe=5D5F4DAD
我尝试使用image-to-base64和fetch-base6,但它们都不起作用。
const image2base64 = require('image-to-base64');
module.exports = (string) => {
console.log(string);
image2base64(string) // you can also to use url
.then(
(response) => {
console.log(response);
}
)
.catch(
(error) => {
console.log(error);
}
)
}
我想获取base64 resul,所以我想知道是否有任何软件包可以帮助我完成此任务。
答案 0 :(得分:0)
我想我有问题。
对于任何需要在Facebook Messenger中获取附件网址的人,格式为:
message.attachments[0].payload
当表示为String时是这样的:
{“ url”:“ THE_URL_THAT_YOU_NEED ”}
因此,要获得 THE_URL_THAT_YOU_NEED ,您必须先删除字符串{"url":"
和"}
,这很容易做到
var url= (JSON.stringify(event.message.attachments[0].payload).replace("{\"url\":\"","")).replace("\"}","");
可能不是最好的解决方案,但对我有用。