发行版本apk的400错误请求

sas*_*uke 2 youtube android google-api youtube-api youtube-data-api

我正在开发一个使用youtube数据api从我的频道中获取数据的应用程序。我已经在youtube的Google控制台上完成了所有的设置,如键和api,并且在调试阶段应用程序运行正常。但是,当我为发布阶段生成apk时,我的应用程序无法按预期运行。对于数据的youtube数据API的调用,它给出以下错误。

com.google.a.a.b.a.b: 400 Bad Request
W/System.err: {
"errors": [
  {
   "domain": "global",
   "reason": "required",
  "message": "Required parameter: part",
   "locationType": "parameter",
   "location": "part"
 }
],
"code": 400,
"message": "Required parameter: part"
}

W/System.err:     at com.google.a.a.b.c.a.b.b(Unknown Source)
W/System.err:     at com.google.a.a.b.c.a.b.a(Unknown Source)
W/System.err:     at com.google.a.a.b.c.b$1.a(Unknown Source)
W/System.err:     at com.google.a.a.c.o.o(Unknown Source)
W/System.err:     at com.google.a.a.b.c.b.b(Unknown Source)
W/System.err:     at com.beebom.app.beebom.videos.l$c.a(Unknown Source)
W/System.err:     at 
com.beebom.app.beebom.videos.l$c.doInBackground(Unknown Source)
W/System.err:     at android.os.AsyncTask$2.call(AsyncTask.java:305)
W/System.err:     at jav a.util.concurrent.FutureTask.run(FutureTask.java:237)
W/System.err:     at 
android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
W/System.err:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
W/System.err:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
W/System.err:     at java.lang.Thread.run(Thread.java:761)
Run Code Online (Sandbox Code Playgroud)

我提取数据的代码在这里:

mYouTubeDataApi = new YouTube.Builder(AndroidHttp.newCompatibleTransport(),new  GsonFactory(),null)
    .setApplicationName("app").build();

searchlistResponse = mYouTubeDataApi.search().list("snippet")
    .setChannelId(Constants.CHANNELID).setFields("items(id/videoId),nextPageToken")
    .setMaxResults((long) results)
    .setKey(Constants.YOUTUBEDEVELOPERKEY)
    .setType("video").setOrder("date").execute();
Run Code Online (Sandbox Code Playgroud)

错误消息指出缺少某些部件参数,但是该参数在调试阶段甚至在浏览器中都可以正常运行,但在发布阶段却不能。我在想什么或做错了什么。还是由于收缩资源时发生gradle或生成relase apk时发生了什么。请帮助我找到错误。

小智 5

我认为这是一个问题Proguard。要解决此问题,请添加以下内容:

-keep class com.google.api.** { *; }
Run Code Online (Sandbox Code Playgroud)

并且应该解决问题。