好的,所以我通过这些教程设置了一个twitterbot很有乐趣,我在图像发布方面没有遇到任何问题。我一直在关注这些教程:https://www.youtube.com/playlist?list=PLRqwX-V7Uu6atTSxoRiVnSuOn6JHnq2yV并且卡在我们发布图像的15.6(https://www.youtube.com/watch?v=mUoIPmZ4KwA)上。观看所有内容需要一段时间,但您可以跳过简单的推特文字并关注回复视频。现在,我理解这个人说的80%,因为我对JS有点新手,而且你们中的一些人比我更有经验,所以我的一些代码有点重复,但我想要确保一切运行。
var imageTweet = function(txt) {
var tweet = {
status:txt
}
//This is for uploading the image to twitter but not actually tweeting it
//Might want to define the b64_img
var b64_img = 0;
var imageProcessing = function(){
var filename = "dankykang.jpg";
var params_img = {
encoding:'base64'
}
b64_img = fs.readFileSync(filename, params_img)
}
imageProcessing();
var upload_params = {
media_data: b64_img
}
T.post('media/upload', upload_params, tweeted_img);
function upload_img(err, data, response){
//This part does the tweet
var id = data.media_id_string;
var tweet = {
//for text in the image tweet
status:"testing a new way to tweet an image...",
//This calls the image from the imageProcessing function
media_ids:[id]
}
T.post('statuses/update', tweet, imgstatustweeted);
function imgstatustweeted(){
if (err){
console.log("The status didn't work")
} else {
console.log("Status worked")
}
}
imgstatustweeted();
}
upload_img();
function tweeted_img(err, data, response){
if (err){
console.log("Image not posted");
} else {
console.log("Image posted");
}
}
tweeted_img();
}
imageTweet();
我跟着他的大部分步骤进行了一些名称更改,我不认为我遗漏了任何东西......但是当我运行bot.js时,它一直给我一个关于data.media_id_string的错误; [上面的var tweet = {...}及以下函数upload_img(...)]
它说TypeError:无法读取undefined的属性'media_id_string'。但是根据我正在关注的教程,我认为这与设置的npm有关。所以我不知道为什么它在他的结束时运行良好,但在我的结束时运行不好。如果我没弄错,那不是语法问题。