首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在Android中指定Spotify Web API的国家代码?

如何在Android中指定Spotify Web API的国家代码?
EN

Stack Overflow用户
提问于 2015-07-15 13:55:09
回答 2查看 1.3K关注 0票数 1

在我的android应用程序中,我正在尝试获取一位艺术家的十大曲目。我使用的是Spotify Web API的wrapper。要获得艺术家的前十首曲目,您必须为getArtistTopTrack(id)方法提供艺术家的id

下面是我的代码,就是为了做到这一点:

代码语言:javascript
运行
AI代码解释
复制
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_top_ten);

    Intent intent = getIntent();

    String artistID = "";
    artistID = intent.getExtras().getString("ID");

    FetchTopTenTracksTask topTenTracksTask = new FetchTopTenTracksTask();
    topTenTracksTask.execute(artistID);
}

private class FetchTopTenTracksTask extends AsyncTask<String, Void, Tracks> {

    @Override
    protected Tracks doInBackground(String... params) {
        SpotifyApi api = new SpotifyApi();
        SpotifyService spotify = api.getService();

        return spotify.getArtistTopTrack(params[0]);
    }

我得到的错误是

代码语言:javascript
运行
AI代码解释
复制
E/AndroidRuntime(2882): FATAL EXCEPTION: AsyncTask #2
E/AndroidRuntime(2882): java.lang.RuntimeException: An error occured while executing doInBackground()

它是由doInBackground引起的。我的想法是,糟糕的请求是由这行代码引起的,因为我需要为搜索指定一个国家代码( API要求这样做),但我不知道如何指定。

代码语言:javascript
运行
AI代码解释
复制
return spotify.getArtistTopTrack(params[0]);

获取艺术家的顶级曲目的正确端点是

代码语言:javascript
运行
AI代码解释
复制
GET https://api.spotify.com/v1/artists/{the artists id}/top-tracks?country={ISO 3166-1 alpha 2 country code}

但是,当我检查LogCat以查看它使用的是什么端点时,发现它是一个不正确的端点

代码语言:javascript
运行
AI代码解释
复制
D/Retrofit(2882): <--- HTTP 400 https://api.spotify.com/v1/artists/{the artist id}%3Fcountry%3DIE/top-tracks (59ms)

正如您所看到的,国家代码"IE“被附加到艺术家id,如下所示:"%3Fcountry%3DIE"。这就是导致错误的原因,因为由于语法错误,服务器无法理解请求。

谁能告诉我如何将"?country={country code}"附加到端点,而不是让它紧跟在艺术家id之后?

EN

回答 2

Stack Overflow用户

发布于 2015-07-16 03:44:07

为我自己的问题提供一个解决方案:

代码语言:javascript
运行
AI代码解释
复制
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_top_ten);

    listView = (ListView) findViewById(R.id.listView);

    Intent intent = getIntent();

    String artistID = "";
    artistID = intent.getExtras().getString("ID");

    FetchTopTenTracksTask topTenTracksTask = new FetchTopTenTracksTask();
    topTenTracksTask.execute(artistID);
}

private class FetchTopTenTracksTask extends AsyncTask<String, Void, Tracks> {

    @Override
    protected Tracks doInBackground(String... params) {

        try {
            String artistID = params[0];

            Map<String, Object> options = new Hashtable<String, Object>();
            options.put("country", "IE"); //Can be any country code here 

            SpotifyApi api = new SpotifyApi();
            SpotifyService spotify = api.getService();

            return spotify.getArtistTopTrack(artistID, options);
        }
        catch (RetrofitError retrofitError) {

            Log.d("Retrofit Error: ", retrofitError.toString());
        }
        return null;
    }

Here是我得到解决方案的地方。

票数 1
EN

Stack Overflow用户

发布于 2020-03-12 10:48:39

你可以使用,

代码语言:javascript
运行
AI代码解释
复制
import com.neovisionaries.i18n.CountryCode;

try{
....
CountryCode country = CountryCode.DE;
GetArtistsTopTracksRequest request = SpotifyApi.getInstance().getArtistsTopTracks(artistId, country).build();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31432429

复制
相关文章
Android 代码中对不同国家支持的信道的设置
配置文件在: kernel/msm-4.4/net/wireless/db.txt
用户7557625
2020/07/15
1.2K0
Nginx拦截指定国家的IP
ps:我看网上说可以自定义403页面然后直接“return 403”就可以跳转到自定义页面了,
用户2409797
2019/02/25
2.1K0
如何在 Ubuntu 20.04 上安装 Spotify
本文最先发布在:https://www.itcoder.tech/posts/how-to-install-spotify-on-ubuntu-20-04/
雪梦科技
2020/06/15
1.4K0
如何在50行以下的Python代码中创建Web爬虫
有兴趣了解Google,Bing或Yahoo的工作方式吗?想知道抓取网络需要什么,以及简单的网络抓取工具是什么样的?在不到50行的Python(版本3)代码中,这是一个简单的Web爬虫!(带有注释的完整源代码位于本文的底部)。
iOSDevLog
2018/08/10
3.3K0
如何在50行以下的Python代码中创建Web爬虫
如何在Nginx中拒绝或允许指定的IP
Nginx拒绝或允许指定的IP,并使用模块HTTP访问控制模块(HTTP Access)。 按照规定的顺序检查控制规则,并且将启用与IP匹配的第一个访问规则。
星哥玩云
2022/08/13
1.2K0
如何在virtualenv环境中安装指定的python版本
指定python版本:virtualenv   -p python执行文件路径     自定义虚拟环境名称。如果文件路径有空格,用引号。
超级小可爱
2023/02/20
7.5K0
如何在git中删除指定的文件和目录
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/113172.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/07
3.6K0
Android中HTTP相关的API
Android中大多数应用都会发送和接受HTTP请求,在Android API中主要由两个HTTP请求的相关类,一个是HttpURLConnection,另一个是Apache HTTP Client。这两个类实现的HTTP请求都支持HTTPS协议,基于流的上传和下载,可配置超时时间,IPv6和连接池。
技术小黑屋
2018/09/05
1.5K0
0485-如何在代码中指定PySpark的Python运行环境
Fayson在前面的文章《0483-如何指定PySpark的Python运行环境》介绍了使用Spark2-submit提交时指定Python的运行环境。也有部分用户需要在PySpark代码中指定Python的运行环境,那本篇文章Fayson主要介绍如何在代码中指定PySpark的Python运行环境。
Fayson
2018/12/29
3.3K0
Spotify如何对Spotify Home进行大规模实验
每年,Spotify 都要在其 Spotify Home 平台上进行 250 多次在线实验。这是一个有几十个团队在使用的平台。Spotify 产品经理 Nik Goyle 解释说,为了完成如此大规模的实验,Spotify 使用了许多不同的工具。
深度学习与Python
2023/08/09
1970
Spotify如何对Spotify Home进行大规模实验
ASP.NET Web API中的Controller
虽然通过Visual Studio向导在ASP.NET Web API项目中创建的 Controller类型默认派生与抽象类型ApiController,但是ASP.NET Web API框架本身只要求它实现IHttpController接口即可,所以我们将其统称为HttpController。既然HttpController指的是所有实现了IHttpController接口的类型,我们自然得先来了解一下这个接口的定义。如下面的代码片断所示,在IHttpController接口中仅仅定义了唯一的方法Exec
蒋金楠
2018/01/15
1.6K0
ASP.NET Web API中的Controller
[译] 如何在 Android 开发中充分利用多摄像头 API
这篇博客是对我们的 Android 开发者峰会 2018 演讲 的补充,是与来自合作伙伴开发者团队中的 Vinit Modi、Android Camera PM 和 Emilie Roberts 合作完成的。查看我们之前在该系列中的文章,包括 相机枚举、相机拍摄会话和请求 和 同时使用多个摄像机流。
Android 开发者
2019/04/09
2.4K0
[译] 如何在 Android 开发中充分利用多摄像头 API
Web API 和 API 的区别
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,无需理解其内部工作机制细节,只需直接调用使用即可。
梨涡浅笑
2020/10/27
3.2K0
如何在小程序中引入自有 API?
自定义 API,顾名思义为开发者为满足自身需求而自己创建的一个 API。那么自己创建的这个 API 能起到什么效果和作用呢。
海岛船长加西亚
2022/03/24
7870
聊聊asp.net中Web Api的使用
扯淡     随着app应用的崛起,后端服务开发的也越来越多,除了很多优秀的nodejs框架之外,微软当然也会在这个方面提供更便捷的开发方式。这是微软一贯的作风,如果从开发的便捷性来说的话微软是当之无愧的老大哥,只是鱼和熊掌不能兼得,各种语法糖带来开发的便利势必会牺牲程序运行的性能,这是无可避免的,通用和效率永远是需要程序员去取舍的话题。扯淡到这就完了,下来就聊聊今天的主角web api,web api 是mvc4.0之后出现的一种技术吧,他的创建和带来的便利我就不介绍了。这边文章主要聊聊,我对web ap
磊哥
2018/05/08
1.5K0
点击加载更多

相似问题

spotify web api授权代码授予thelinmichael/spotify-web java android

23

如何在Spotify Apps API中获取当前用户的国家代码?

12

Spotify Web API

112

将Spotify Web API添加到android中

14

Spotify Web API (Connect)

15
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文