#transfer #file-transfer #boards #service #client #link #expire

wetransfer

使用 Rust 编写的非官方 WeTransfer 客户端

2 个版本

使用旧的 Rust 2015

0.1.1 2019 年 2 月 7 日
0.1.0 2019 年 2 月 6 日

#6#boards

MIT 许可证

36KB
697

WeTransfer

WeTransfer 是一种专门通过电子邮件发送大文件的文件传输服务。这个包作为他们的 公共 API 的非官方 Rust 客户端,提供他们提供的两个 产品

  • 传输,一种文件共享服务,可以传输高达 2GB 的文件。该服务生成一个公开可访问的链接,可以通过该链接开始下载。这些文件在七天后会过期。
  • ,一种将创意想法存储到板上的服务,其中可以固定文件和链接。这些板在三个月的无活动后将过期。

安装

首先,在您的 crate 根目录中添加以下行

[dependencies]
wetransfer = "0.1.1"

然后,通过在您的项目根目录中添加以下行将 crate 导入到您的应用程序中。

extern crate wetransfer;

用法

在本节中,展示了该 crate 所提供的所有功能。

extern crate wetransfer;

use wetransfer::requests::*;
use std::env;

fn main() {
    let app_token = env::var("APP_TOKEN").expect("Set APP_TOKEN env var.");
    let client = wetransfer::sync::Client::new(app_token).unwrap();
    let file_paths = vec!["/Users/sergio/Desktop/file.jpg"];
    
    // Create a transfer.
    let result_transfer = client.transfers.create("La Chuka.", &file_paths);
    println!("{:?}", result_transfer);

    // // Or create a board
    let board = client.boards.create("Title", Some("Description")).unwrap();
    println!("{:?}", board);
    
    // Add links to the board
    let links = vec![
        AddLink { 
            url: "https://wetransfer.com".to_string(),
            title: "Homepage".to_string()
        },
        AddLink {
            url: "https://github.com/tehAnswer".to_string(),
            title: "Sergio".to_string()
        }
    ];
    let result_links = client.boards.add_links(&board.id, &links);
    println!("{:?}", result_links);

    // Or add files.
    let result_files = client.boards.add_files(&board.id, &file_paths);
    println!("{:?}", result_files); 
}

依赖项

~22–31MB
~566K SLoC