@@ -24,7 +24,7 @@ import type {
24
24
} from '../types' ;
25
25
import TwitterApiv2LabsReadWrite from '../v2-labs/client.v2.labs.write' ;
26
26
import { CreateDMConversationParams , PostDMInConversationParams , PostDMInConversationResult } from '../types/v2/dm.v2.types' ;
27
- import { MediaV2MediaCategory , MediaV2MetadataCreateParams , MediaV2MetadataCreateResult , MediaV2UploadAppendParams , MediaV2UploadFinalizeParams , MediaV2UploadInitParams , MediaV2UploadResponse } from '../types/v2/media.v2.types' ;
27
+ import { MediaV2MediaCategory , MediaV2MetadataCreateParams , MediaV2MetadataCreateResult , MediaV2UploadAppendParams , MediaV2UploadInitParams , MediaV2UploadResponse } from '../types/v2/media.v2.types' ;
28
28
29
29
/**
30
30
* Base Twitter v2 client with read/write rights.
@@ -150,13 +150,12 @@ export default class TwitterApiv2ReadWrite extends TwitterApiv2ReadOnly {
150
150
}
151
151
152
152
const initArguments : MediaV2UploadInitParams = {
153
- command : 'INIT' ,
154
153
media_type : options . media_type ,
155
154
total_bytes : media . length ,
156
155
media_category,
157
156
} ;
158
157
159
- const initResponse = await this . post < MediaV2UploadResponse > ( 'media/upload' , initArguments , { forceBodyMode : 'form-data' } ) ;
158
+ const initResponse = await this . post < MediaV2UploadResponse > ( 'media/upload/initialize ' , initArguments , { forceBodyMode : 'form-data' } ) ;
160
159
const mediaId = initResponse . data . id ;
161
160
162
161
const chunksCount = Math . ceil ( media . length / chunkSize ) ;
@@ -168,21 +167,14 @@ export default class TwitterApiv2ReadWrite extends TwitterApiv2ReadOnly {
168
167
const chunkedBuffer = Buffer . from ( mediaChunk ) ;
169
168
170
169
const appendArguments : MediaV2UploadAppendParams = {
171
- command : 'APPEND' ,
172
- media_id : mediaId ,
173
170
segment_index : i ,
174
171
media : chunkedBuffer ,
175
172
} ;
176
173
177
- await this . post ( ' media/upload' , appendArguments , { forceBodyMode : 'form-data' } ) ;
174
+ await this . post ( ` media/upload/ ${ mediaId } /append` , appendArguments , { forceBodyMode : 'form-data' } ) ;
178
175
}
179
176
180
- const finalizeArguments : MediaV2UploadFinalizeParams = {
181
- command : 'FINALIZE' ,
182
- media_id : mediaId ,
183
- } ;
184
-
185
- const finalizeResponse = await this . post < MediaV2UploadResponse > ( 'media/upload' , finalizeArguments , { forceBodyMode : 'form-data' } ) ;
177
+ const finalizeResponse = await this . post < MediaV2UploadResponse > ( `media/upload/${ mediaId } /finalize` ) ;
186
178
if ( finalizeResponse . data . processing_info ) {
187
179
await this . waitForMediaProcessing ( mediaId ) ;
188
180
}
0 commit comments