mirror of
https://framagit.org/veretcle/tootube.git
synced 2025-07-20 20:41:17 +02:00
fix: get the whole upload URL instead of just the ID
This commit is contained in:
@@ -64,10 +64,10 @@ pub fn run(config: Config) {
|
|||||||
let local_path = dl_video(&dl_url)
|
let local_path = dl_video(&dl_url)
|
||||||
.unwrap_or_else(|e| panic!("Cannot download video at URL {}: {}", dl_url, e));
|
.unwrap_or_else(|e| panic!("Cannot download video at URL {}: {}", dl_url, e));
|
||||||
|
|
||||||
let resumable_upload_id = create_resumable_upload(&config.youtube, &latest_vid)
|
let resumable_upload_url = create_resumable_upload(&config.youtube, &latest_vid)
|
||||||
.unwrap_or_else(|e| panic!("Cannot retrieve the upload’s resumable id: {e}"));
|
.unwrap_or_else(|e| panic!("Cannot retrieve the upload’s resumable id: {e}"));
|
||||||
|
|
||||||
upload_video(&local_path, &resumable_upload_id, &config.youtube)
|
upload_video(&local_path, &resumable_upload_url, &config.youtube)
|
||||||
.unwrap_or_else(|e| panic!("Cannot resume upload!: {e}"));
|
.unwrap_or_else(|e| panic!("Cannot resume upload!: {e}"));
|
||||||
|
|
||||||
remove_file(&local_path).unwrap_or_else(|e| panic!("Cannot delete file {}: {}", local_path, e));
|
remove_file(&local_path).unwrap_or_else(|e| panic!("Cannot delete file {}: {}", local_path, e));
|
||||||
|
@@ -136,7 +136,7 @@ pub fn create_resumable_upload(
|
|||||||
if res.status().is_success() {
|
if res.status().is_success() {
|
||||||
Ok(res
|
Ok(res
|
||||||
.headers()
|
.headers()
|
||||||
.get("x-guploader-uploadid")
|
.get("location")
|
||||||
.ok_or("Cannot find suitable header")?
|
.ok_or("Cannot find suitable header")?
|
||||||
.to_str()?
|
.to_str()?
|
||||||
.to_string())
|
.to_string())
|
||||||
@@ -147,14 +147,14 @@ pub fn create_resumable_upload(
|
|||||||
|
|
||||||
pub fn upload_video(
|
pub fn upload_video(
|
||||||
f_path: &str,
|
f_path: &str,
|
||||||
r_id: &str,
|
r_url: &str,
|
||||||
config: &YoutubeConfig,
|
config: &YoutubeConfig,
|
||||||
) -> Result<(), Box<dyn Error>> {
|
) -> Result<(), Box<dyn Error>> {
|
||||||
let access_token = refresh_token(config)?;
|
let access_token = refresh_token(config)?;
|
||||||
|
|
||||||
let client = reqwest::blocking::Client::new();
|
let client = reqwest::blocking::Client::new();
|
||||||
|
|
||||||
let res = client.put(format!("https://www.googleapis.com/upload/youtube/v3/videos?uploadType=resumable&part=snippet%2Cstatus&upload_id={}", r_id))
|
let res = client.put(r_url)
|
||||||
.header("Authorization", format!("Bearer {}", access_token))
|
.header("Authorization", format!("Bearer {}", access_token))
|
||||||
.body(f_path.to_string())
|
.body(f_path.to_string())
|
||||||
.send()?;
|
.send()?;
|
||||||
|
Reference in New Issue
Block a user