Android的访问令牌谷歌云端硬盘API下载文件
要根据this下载从谷歌驱动器中的文件,我们必须使用Android的访问令牌谷歌云端硬盘API下载文件
GET https://www.googleapis.com/drive/v3/files/0B9jNhSvVjoIVM3dKcGRKRmVIOVU?alt=media 授权:承载“ACCESS_TOKEN”
我想知道是什么这个访问令牌是什么? 是这个android客户端ID?当在授权头中传递客户端ID时,它会给401未授权的错误。 如果我使用如下代码,文件下载成功,但是当我尝试打开它,它说无效的文件
OutputStream outputStream = new ByteArrayOutputStream();
driveService.files().get(fileId)
.executeMediaAndDownloadTo(outputStream);
您可以添加Drive API Client Library for Java到模块的build.gradle
...而不是创建一个全新的Google Drive REST API的 客户端。 clientId应该来自google-services.json
文件(并可能与REST凭据不同,请检查控制台)。
dependencies {
compile 'com.google.http-client:google-http-client-android:1.22.0'
compile 'com.google.http-client:google-http-client-jackson2:1.22.0'
compile 'com.google.api-client:google-api-client-android:1.22.0'
compile 'com.google.api-client:google-api-client-jackson2:1.22.0'
compile 'com.google.oauth-client:google-oauth-client:1.22.0'
compile 'com.google.apis:google-api-services-drive:v3-rev65-1.22.0'
}
然后运行./gradlew clean
下载库。
访问令牌,客户端ID? –
@NaveedAli Google OAuth客户端存在依赖关系...因此您可能不需要担心这一点。为Android创建一个REST客户端是完全无意义的,而有一个现成的Java客户端为Android ...只是使用它,并尝试为Android创建Web应用程序。 –
@ Naveed Ali访问令牌不是客户端ID,请查看我的答案[here](https://stackoverflow.com/a/46065286/6143482)。 – noogui
阅读this文章之后,我才知道什么是访问令牌正是 Mobile Api Security
在OAuth2以移动API安全
用户打开你的移动应用程序,并提示输入自己的用户名或电子邮件和密码。
您可以使用用户的用户名或电子邮件和密码数据(OVER SSL!)从移动应用向您的API服务发送POST请求。
您验证用户凭证,并为在某段时间后过期的用户创建一个访问令牌。
您将此访问令牌存储在移动设备上,将其视为可让您访问API服务的API密钥。
一旦访问令牌失效并且不再有效,您将重新提示用户输入他们的用户名或电子邮件和passwordU。
你得到一个访问令牌,然后需要获取一个刷新令牌......当你完全重新发明轮子时,Android上完全不需要这个轮子。不会倒票,而这种做法毫无意义。为什么你浪费你的时间写一个客户,这不起作用 - 当有客户,它的工作和正在积极维护?只要接受上面的答案,并尽快开始工作......你甚至尝试过吗? –
兄弟我离开这个任务在等待,因为我被转移到其他项目.. 我不清楚有关访问令牌这就是为什么我问这个问题,但现在在上述文章的帮助下,现在很清楚.. 我upvoted你回答..问题发生,甚至我试过你的线..这就是为什么我不能接受它...现在我没有足够的时间回到这个任务..因此,我不能接受你的答案对不起:) –
哥哥我离开这个任务,因为我被转移到另一个项目.. 我不清楚访问令牌这就是为什么我问这个问题,但现在在提到的文章的帮助下,现在很清楚.. 我upvoted你回答..问题发生,即使我试过你的台词..这就是为什么我不能接受它...现在我没有足够的时间回来t o这项任务.. 因此,我不能接受你的答案对不起:) –
你不必模拟客户端,而可以添加它与gradle ... –
@MartinZeitler该怎么办? 我们是否需要添加一些清单文件..? –
您是否将依赖项添加到.gradle文件中? –