【问题标题】:Spotify - libspotify error codesSpotify - libspotify 错误代码
【发布时间】:2012-02-12 19:04:52
【问题描述】:

我正在尝试创建一个在 ubuntu/debian 上运行的基于命令的 spotify 客户端。但是,我在尝试登录时不断遇到问题。

代码:

int main() {

sp_session *sp;
sp_error err;

sp_session_callbacks callbacks;

sp_session_config config;
config.api_version = 10;
config.cache_location = "tmp";
config.settings_location = "tmp";
config.application_key = g_appkey;
config.application_key_size = g_appkey_size;
config.user_agent = "name";
config.callbacks = NULL;

err = sp_session_create(&config, &sp);

if (SP_ERROR_OK != err) {
    fprintf(stderr, "Unable to create session: %s\n",
            sp_error_message(err));
    exit(1);
}

return 0;
}

我明白了: “无法创建会话:无法打开跟踪文件”

它的错误代码 26。

有人知道这个错误信息是什么意思吗?很难找到一个好的答案。

谢谢

【问题讨论】:

    标签: spotify


    【解决方案1】:

    在调用 sp_session_login() 之前不输入凭据,完成后返回的回调将告诉您用户是否通过错误代码输入了错误的凭据。

    此外,如果您为结构中所有未使用的字段提供零,通常 libspotify 会更喜欢它,如下所示:

    memset(&config, 0, sizeof(sp_session_config));
    // here goes setup of config struct
    

    也就是说,sp_session_create() 绝不应该阻塞并且不是异步的。

    【讨论】:

      【解决方案2】:

      文件路径(缓存和设置)需要是磁盘上可写位置的绝对路径。尝试将 "tmp" 替换为 "/tmp/libSpotify" 之类的东西 - 确保 /tmp/libSpotify 或任何实际存在的东西首先。

      【讨论】:

      • 我已将配置更改为指向“/tmp/libSpotify”和“/tmp/libSpotify1”,并让这两个文件具有 rwx 权限。也用文件夹测试过,但仍然得到同样的错误....
      • 嗯。尝试传递一个有效的回调结构而不是 NULL。
      【解决方案3】:

      尝试添加 config.tracefile = NULL;

      【讨论】:

      • hmm.... 添加了 config.tracefile = NULL;还有有效的回调函数,这不会给我任何错误消息,但在“err = sp_session_create(&config, &sp);”之后没有代码被执行。通话是异步的吗?我需要拖延一段时间吗?
      • sp_session_create 不是异步的,所以如果它返回 SP_ERROR_OK 你需要使用会话指针登录。然后它会触发回调告诉你登录是否成功等等。你看过在他们网站上的示例中? developer.spotify.com/en/libspotify/docs/…
      • 好的,是的,这就是我用作参考的示例。但是我仍然没有从 if 案例中得到任何东西。我在 sp_session_create 之前和之后添加了 printf 并且打印了之前的那个,但没有打印之后的那个..
      • 如果它与凭据等有关,我会认为错误代码会表明这一点,但由于它没有返回,我不确定这是怎么回事。我是一个 .NET 人,正在开发我自己的 C# Spotify 包装器,所以如果有一些 C 技巧需要完成,我不适合提供帮助。
      • hmm....我在我的 ubuntu 环境中安装了 Xubuntu-desktop,它开始工作了....看来代码工作了...那么它可能是统一的东西来冲突吗?
      猜你喜欢
      • 2014-06-24
      • 2018-02-17
      • 2018-09-22
      • 1970-01-01
      • 2023-02-01
      • 2020-09-19
      • 1970-01-01
      • 2012-11-21
      • 1970-01-01
      相关资源
      最近更新 更多