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)
|
||||
.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}"));
|
||||
|
||||
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}"));
|
||||
|
||||
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() {
|
||||
Ok(res
|
||||
.headers()
|
||||
.get("x-guploader-uploadid")
|
||||
.get("location")
|
||||
.ok_or("Cannot find suitable header")?
|
||||
.to_str()?
|
||||
.to_string())
|
||||
@@ -147,14 +147,14 @@ pub fn create_resumable_upload(
|
||||
|
||||
pub fn upload_video(
|
||||
f_path: &str,
|
||||
r_id: &str,
|
||||
r_url: &str,
|
||||
config: &YoutubeConfig,
|
||||
) -> Result<(), Box<dyn Error>> {
|
||||
let access_token = refresh_token(config)?;
|
||||
|
||||
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))
|
||||
.body(f_path.to_string())
|
||||
.send()?;
|
||||
|
Reference in New Issue
Block a user