mirror of
https://github.com/node-red/node-red-nodes.git
synced 2023-10-10 13:36:58 +02:00
Twitter-video-upload-ver01
I tried to write the code but it doesn't work. I would like to be able to upload a video or a larger gif file with this module.
This commit is contained in:
parent
9bae313b72
commit
afbed8853b
@ -611,52 +611,74 @@ module.exports = function(RED) {
|
|||||||
node.warn(RED._("twitter.errors.truncated"));
|
node.warn(RED._("twitter.errors.truncated"));
|
||||||
}
|
}
|
||||||
var mediaPromise;
|
var mediaPromise;
|
||||||
if (msg.media && Buffer.isBuffer(msg.media)) {
|
if (msg.media && Buffer.isBuffer(msg.media)) {
|
||||||
// var mediaType = fileType(msg.media);
|
|
||||||
// if (mediaType === null) {
|
|
||||||
// node.status({fill:"red",shape:"ring",text:"twitter.status.failed"});
|
|
||||||
// node.error("msg.media is not a valid media object",msg);
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
mediaPromise = node.twitterConfig.post("https://upload.twitter.com/1.1/media/upload.json",null,null,{
|
|
||||||
media: msg.media
|
|
||||||
}).then(function(result) {
|
|
||||||
if (result.status === 200) {
|
|
||||||
return result.body.media_id_string;
|
|
||||||
} else {
|
|
||||||
throw new Error(result.body.errors[0]);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
} else {
|
mediaPromise = node.twitterConfig.post("https://upload.twitter.com/1.1/media/upload.json",{
|
||||||
mediaPromise = Promise.resolve();
|
command: "INIT",
|
||||||
}
|
total_bytes: msg.mediaSize,
|
||||||
mediaPromise.then(function(mediaId) {
|
media_type: msg.mediaType
|
||||||
var params = msg.params || {};
|
}).then(function(result) {
|
||||||
params.status = msg.payload;
|
if (result.status === 200) {
|
||||||
if (mediaId) {
|
return result.body.media_id_string;
|
||||||
params.media_ids = mediaId;
|
} else {
|
||||||
|
throw new Error(result.body.errors[0]);
|
||||||
}
|
}
|
||||||
node.twitterConfig.post("https://api.twitter.com/1.1/statuses/update.json",{},params).then(function(result) {
|
});
|
||||||
if (result.status === 200) {
|
|
||||||
node.status({});
|
|
||||||
} else {
|
|
||||||
node.status({fill:"red",shape:"ring",text:"twitter.status.failed"});
|
|
||||||
|
|
||||||
if ('error' in result.body && typeof result.body.error === 'string') {
|
|
||||||
node.error(result.body.error,msg);
|
mediaPromise = node.twitterConfig.post("https://upload.twitter.com/1.1/media/upload.json",{
|
||||||
} else {
|
command: "APPEND",
|
||||||
node.error(result.body.errors[0].message,msg);
|
media_id: mediaId,
|
||||||
}
|
media: msg.media,
|
||||||
}
|
segment_index: 0
|
||||||
}).catch(function(err) {
|
}).then(function(result) {
|
||||||
|
if (result.status === 200) {
|
||||||
|
return result.media_id;
|
||||||
|
} else {
|
||||||
|
throw new Error(result.body.errors[0]);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
mediaPromise = node.twitterConfig.post("https://upload.twitter.com/1.1/media/upload.json",{
|
||||||
|
command: "FINALIZE",
|
||||||
|
media_id: mediaId
|
||||||
|
}).then(function(result) {
|
||||||
|
if (result.status === 200) {
|
||||||
|
return result.media_id;
|
||||||
|
} else {
|
||||||
|
throw new Error(result.body.errors[0]);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
} else {
|
||||||
|
mediaPromise = Promise.resolve();
|
||||||
|
}
|
||||||
|
mediaPromise.then(function(mediaId) {
|
||||||
|
var params = msg.params || {};
|
||||||
|
params.status = msg.payload;
|
||||||
|
if (mediaId) {
|
||||||
|
params.media_ids = mediaId;
|
||||||
|
}
|
||||||
|
node.twitterConfig.post("https://api.twitter.com/1.1/statuses/update.json",{},params).then(function(result) {
|
||||||
|
if (result.status === 200) {
|
||||||
|
node.status({});
|
||||||
|
} else {
|
||||||
node.status({fill:"red",shape:"ring",text:"twitter.status.failed"});
|
node.status({fill:"red",shape:"ring",text:"twitter.status.failed"});
|
||||||
node.error(err,msg);
|
|
||||||
})
|
if ('error' in result.body && typeof result.body.error === 'string') {
|
||||||
|
node.error(result.body.error,msg);
|
||||||
|
} else {
|
||||||
|
node.error(result.body.errors[0].message,msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
}).catch(function(err) {
|
}).catch(function(err) {
|
||||||
node.status({fill:"red",shape:"ring",text:"twitter.status.failed"});
|
node.status({fill:"red",shape:"ring",text:"twitter.status.failed"});
|
||||||
node.error(err,msg);
|
node.error(err,msg);
|
||||||
});
|
})
|
||||||
|
}).catch(function(err) {
|
||||||
|
node.status({fill:"red",shape:"ring",text:"twitter.status.failed"});
|
||||||
|
node.error(err,msg);
|
||||||
|
});
|
||||||
// if (msg.payload.length > 280) {
|
// if (msg.payload.length > 280) {
|
||||||
// msg.payload = msg.payload.slice(0,279);
|
// msg.payload = msg.payload.slice(0,279);
|
||||||
// node.warn(RED._("twitter.errors.truncated"));
|
// node.warn(RED._("twitter.errors.truncated"));
|
||||||
|
Loading…
Reference in New Issue
Block a user