使用 HTTP API 在 Twitter 上上传视频
Uploading Video on twitter using HTTP API
您好,我正在尝试使用 Twitter 的 REST API 上传视频 Twitter POST video Request
在本文档中,我无法理解如何从我的 Android 代码中执行此命令。:
twurl -H upload.twitter.com "/1.1/media/upload.json" -d "command=INIT&media_type=video/mp4&total_bytes=4430752"
此外,我可以使用 twitter4j post 状态更新和图像,我需要重新验证才能使用 HTTP API:
protected Void doInBackground(String... args) {
Date date = new Date();
String status = date.toString();
Log.d("Status", status);
try {
ConfigurationBuilder builder = new ConfigurationBuilder();
builder.setOAuthConsumerKey(consumerKey);
builder.setOAuthConsumerSecret(consumerSecret);
// Access Token
String access_token = mSharedPreferences.getString(PREF_KEY_OAUTH_TOKEN, "");
// Access Token Secret
String access_token_secret = mSharedPreferences.getString(PREF_KEY_OAUTH_SECRET, "");
AccessToken accessToken = new AccessToken(access_token, access_token_secret);
Twitter twitter = new TwitterFactory(builder.build()).getInstance(accessToken);
// Update status
StatusUpdate statusUpdate = new StatusUpdate("@UserName : " +status);
if(((MyApplication)getActivity().getApplication()).getLinkPath() != null) { //getting image resource file
String s = "file://" + ((MyApplication) getActivity().getApplication()).getLinkPath();
Uri uri = Uri.parse(s);
InputStream is = getActivity().getContentResolver().openInputStream(uri);
Log.d("Logger", "Sending media");
statusUpdate.setMedia(s, is);
Log.d(s, "Sent media");
}
twitter4j.Status response = twitter.updateStatus(statusUpdate);
Log.d("Status", response.getText());
} catch (TwitterException e) {
Log.d("Failed to post!", e.getMessage());
} catch (FileNotFoundException e) {
e.printStackTrace();
}
return null;
}
}
更新 03/16/2018,新 PR 和 Maven Repo
我创建了一个拉取请求以在 twitter4j 中添加此功能。你可以在这里查看实现:
Adding Chuncked, video upload
您好,我正在尝试使用 Twitter 的 REST API 上传视频 Twitter POST video Request
在本文档中,我无法理解如何从我的 Android 代码中执行此命令。:
twurl -H upload.twitter.com "/1.1/media/upload.json" -d "command=INIT&media_type=video/mp4&total_bytes=4430752"
此外,我可以使用 twitter4j post 状态更新和图像,我需要重新验证才能使用 HTTP API:
protected Void doInBackground(String... args) {
Date date = new Date();
String status = date.toString();
Log.d("Status", status);
try {
ConfigurationBuilder builder = new ConfigurationBuilder();
builder.setOAuthConsumerKey(consumerKey);
builder.setOAuthConsumerSecret(consumerSecret);
// Access Token
String access_token = mSharedPreferences.getString(PREF_KEY_OAUTH_TOKEN, "");
// Access Token Secret
String access_token_secret = mSharedPreferences.getString(PREF_KEY_OAUTH_SECRET, "");
AccessToken accessToken = new AccessToken(access_token, access_token_secret);
Twitter twitter = new TwitterFactory(builder.build()).getInstance(accessToken);
// Update status
StatusUpdate statusUpdate = new StatusUpdate("@UserName : " +status);
if(((MyApplication)getActivity().getApplication()).getLinkPath() != null) { //getting image resource file
String s = "file://" + ((MyApplication) getActivity().getApplication()).getLinkPath();
Uri uri = Uri.parse(s);
InputStream is = getActivity().getContentResolver().openInputStream(uri);
Log.d("Logger", "Sending media");
statusUpdate.setMedia(s, is);
Log.d(s, "Sent media");
}
twitter4j.Status response = twitter.updateStatus(statusUpdate);
Log.d("Status", response.getText());
} catch (TwitterException e) {
Log.d("Failed to post!", e.getMessage());
} catch (FileNotFoundException e) {
e.printStackTrace();
}
return null;
}
}
更新 03/16/2018,新 PR 和 Maven Repo
我创建了一个拉取请求以在 twitter4j 中添加此功能。你可以在这里查看实现: Adding Chuncked, video upload