Twitter video upload function
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- javascript, nodejs
Direzione di ricerca
Inizia con l’implementazione di node-red-node-twitter e confronta il suo attuale percorso di upload con l’esempio Node.js fornito per INIT, APPEND e FINALIZE. Il lavoro è completo quando il nodo Twitter può caricare file più grandi e pubblicare con successo i media risultanti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Which node are you reporting an issue on?
node-red-node-twitter
I would like to be able to upload larger files to Twitter. this already works in node.js
The node.js code must be converted to node-red
node.js:
const Twitter = require("twitter")
const dotenv = require("dotenv")
const fs = require("fs")
dotenv.config()
const client = new Twitter({
consumer_key: process.env.CONSUMER_KEY,
consumer_secret: process.env.CONSUMER_SECRET,
access_token_key: process.env.ACCESS_TOKEN_KEY,
access_token_secret: process.env.ACCESS_TOKEN_SECRET
})
const pathToFile = "./media/homer.gif"
const mediaType = "image/gif"
const mediaData = fs.readFileSync(pathToFile)
const mediaSize = fs.statSync(pathToFile).size
initializeMediaUpload()
.then(appendFileChunk)
.then(finalizeUpload)
.then(publishStatusUpdate)
function initializeMediaUpload() {
return new Promise(function(resolve, reject) {
client.post("media/upload", {
command: "INIT",
total_bytes: mediaSize,
media_type: mediaType
}, function(error, data, response) {
if (error) {
console.log(error)
reject(error)
} else {
resolve(data.media_id_string)
}
})
})
}
function appendFileChunk(mediaId) {
return new Promise(function(resolve, reject) {
client.post("media/upload", {
command: "APPEND",
media_id: mediaId,
media: mediaData,
segment_index: 0
}, function(error, data, response) {
if (error) {
console.log(error)
reject(error)
} else {
resolve(mediaId)
}
})
})
}
function finalizeUpload(mediaId) {
return new Promise(function(resolve, reject) {
client.post("media/upload", {
command: "FINALIZE",
media_id: mediaId
}, function(error, data, response) {
if (error) {
console.log(error)
reject(error)
} else {
resolve(mediaId)
}
})
})
}
function publishStatusUpdate(mediaId) {
return new Promise(function(resolve, reject) {
client.post("statuses/update", {
status: "I tweeted from Node.js!",
media_ids: mediaId
}, function(error, data, response) {
if (error) {
console.log(error)
reject(error)
} else {
console.log("Successfully uploaded media and tweeted!")
resolve(data)
}
})
})
}
- Lingua principale
- JavaScript
- Stelle
- 1.1k
- Fork
- 610
- Merge medio
- 1g 4h
- PR unite (30g)
- 2
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di node-red/node-red-nodes
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 42/100
node-red/node-red-nodes#1151 · 3 commenti ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 58/100
node-red/node-red-nodes#1142 · 11 commenti ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
node-red/node-red-nodes#1141 · 15 commenti ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
node-red/node-red-nodes#1130 · 4 commenti ·
-
dependencies
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
node-red/node-red-nodes#1121 · 5 commenti ·
Tutte le issue di node-red/node-red-nodes
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
dusk-network/exu#17 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
jspreadsheet/ce#1809 ·
-
documentation
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 91/100
githubnext/gh-aw-workshop#4458 ·
I maintainer di solito rispondono entro 1 giorno
-
Add: CartoonitoApertacheck:failed feeds:add
Difficoltà 2/5 1-3 ore Idoneità per principianti 63/100
iptv-org/database#37390 · 1 commento ·
I maintainer di solito rispondono entro 9 giorni
-
bug: directory index route root priority is overwritten when wildcard is falseForse già presa @TalhaHunter101 l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
fastify/fastify-static#617 ·