Comments (4)
It seems like it actually makes a successful request, but it fails to parse the result.
Here is some extremely hacky code if anyone needs it. It's bad, but it will not throw
const crossFetch = require('cross-fetch')
function customTwitterPostForAltText (twitterClient, body) {
const resource = 'media/metadata/create'
const baseHeaders = {
'Content-Type': 'application/json',
Accept: 'application/json'
}
const { requestData, headers } = twitterClient._makeRequest(
'POST',
resource,
null // don't sign JSON bodies; only parameters
)
const postHeaders = Object.assign({}, baseHeaders, headers)
body = JSON.stringify(body)
return crossFetch(requestData.url, {
method: 'POST',
headers: postHeaders,
body
})
.then(res => {
if (res.status !== 200) throw new Error('[customTwitterPostForAltText] ' + JSON.stringify(res))
})
}
from twitter-lite.
Hi @NiciusB, sorry for the delay. I'm a bit confused, did you solve this issue with the snippet you posted above?
from twitter-lite.
I did, but it's not ideal since it's ignoring the result of the request. If the request succeeds we have no access to the response, and if twitter returns an error, the actual error message will be lost.
Basically what I wanted to do was to upload an image with a caption.
// Upload image
const b64content = '' // Base64-encoded image
const mediaUploadData = await twUploadClient.post('media/upload', { media_data: b64content })
// Set alt text for image
const altTextString = 'Animated image of a cat failing a jump'
await customTwitterPostForAltText(twUploadClient, { media_id: mediaUploadData.media_id_string, alt_text: { text: altTextString } })
// Tweet
const tweetData = await twClient.post('statuses/update', {
status: 'Check out my accesible image',
media_ids: [mediaUploadData.media_id_string]
})
For reference this is the original file: https://github.com/NiciusB/valentine-cards-bot/blob/master/src/cron/sendTweet.js
from twitter-lite.
Hey @NiciusB do you mind creating a PR that would fix this for our users? We'd really appreciate it, thanks!
from twitter-lite.
Related Issues (20)
- URL Card Doesn't Appear
- API v2 documentation
- Rate limit handling could be more explicit
- Cannot like a tweet with v2 HOT 3
- TypeScript does not like `new Twitter({ bearer_token })` HOT 1
- How do i tweet to someone who just followed me?
- twitter-lite client stream method always defaults to api version 1.1 HOT 3
- POST to the Cards endpoint fails HOT 1
- Two ways to access data? HOT 1
- Only allow code to post tweets from the account defined in the "follow" parameter.
- Stops Posting Tweets After a Certain Time HOT 1
- How to post link text / images HOT 3
- OAuth 2 error for POST /2/tweets FIXED HOT 15
- Media from Tweet lookup
- Twitter Bookmarks API Endpoint HOT 1
- Tweet on behalf of other users?
- Does `twitter-lite` report the current status of rate limits, in order to get the count of the API requests remaining in the current time-window? HOT 1
- Upcoming API changes
- ReferenceError: Property 'Buffer' doesn't exist
- Could not authenticate you
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from twitter-lite.