#spotify #access-token #manage

spotify_token_manager

轻松管理您的访问令牌

8个版本

0.3.3 2024年6月1日
0.3.2 2024年5月31日
0.2.2 2024年5月26日
0.1.2 2024年5月25日

音频 类别中排名282

Download history 498/week @ 2024-05-21 337/week @ 2024-05-28 20/week @ 2024-06-04 3/week @ 2024-06-11

每月418次下载

MIT许可证

20KB
375

spotify-api-token-manager

轻松管理您的访问令牌

关于此项目

此项目帮助您管理Spotify访问令牌。它自动化了刷新和更新令牌的过程:3!我爱你tokio <3

如何使用此库

Spotify仪表板 中设置您的应用程序,网上有多个教程说明如何操作

对我们来说,具体有几个要点

  • 客户端ID
  • 客户端密钥
  • 重定向URL

请注意,重定向URL应以/callback结尾

以下是一个快速示例

use spotify_token_manager::{TokenManager, verify_creds};
use std::net::TcpListener;
use tokio::signal;

#[tokio::main]
async fn main() {
    let listener = TcpListener::bind("127.0.0.1:8080").unwrap();

    let client_id = "05fd6ff8a5d84f399b5491410b9b22e5";
    let client_secret = "32b3b73d7ac4425bbf60484a5deab9f5";

    //SOMETHING VERY NEW!!!!! 
    //verify your creds before actually starting the token manager :3

    // this returns a bool!, if its true, your creds are valid, well done, if its false, well 3x;
    if verify_creds(&client_id, &client_secret).await.unwrap() {
        let init = TokenManager::new(
            client_id.to_string(),
            client_secret.to_string(),
            vec![
                "user-read-private".to_owned(),
                "user-read-email".to_owned(),
                "user-top-read".to_string(),
            ],
            listener
        );

        init.start_server().await;

        //will return None, if you havent authorized yet.
        let result = init.get_token().await;

        println!("result: {:?}", result);
    }


    signal::ctrl_c().await.expect("failed to listen for Ctrl+C"); //keep the the thread alive, if you dont keep the thread alive unexpected issues will occur. 
}

请注意,监听器的URL始终需要与您在Spotify开发者仪表板中定义的URL相同。

完成后,在浏览器中打开监听器URL以及/login以授权您的账户

URL示例可以是http://127.0.0.1:8080/login

其他重要事项

请注意,此库将在您的家目录中创建一个名为 "stm_data" 的文件夹,代表Spotify令牌管理器数据:D 确保您没有名为此的文件夹

依赖项

~17–29MB
~527K SLoC