【发布时间】:2018-11-20 03:31:12
【问题描述】:
我正在尝试隐藏我的 API 密钥,因此我正在设置我的 Retrofit Api 接口:
public interface ApiInterface { @GET("?api_key=" + popularmovies.name.com.popularmovies.BuildConfig.TMD_API_KEY + "&language=en-US") Call<Movies> getImages(); }
但是,我收到一条错误消息“属性值必须是常量。”有没有办法解析和访问这个字符串?
更新:这是第二次尝试:
private static final String API_KEY = popularmovies.troychuinard.com.popularmovies.BuildConfig.TMD_API_KEY;
public interface ApiInterface {
@GET("?language=en-US")
Call<Movies> getImages(@Query("api_key") API_KEY);
}
更新:这是第三次尝试:
下面是我看到的作为发出请求的 URL 的日志记录,可以看出 API 密钥现在位于 URL 的末尾,这是不正确的语法:
06-10 18:41:33.212 4969-4993/? D/OkHttp: http://api.themoviedb.org/3/movie/popular?language=en-US&api_key=?api_key%3D09b0a9a9d5d9ddee2b3bc69e78b02457 (592ms) 访问控制允许来源:*
【问题讨论】:
-
有人回答了你的问题后,不要替换问题的全部内容。这使得答案毫无用处。相反,编辑问题并向其添加更多材料,例如显示代码的第二次尝试。
标签: java android gradle retrofit