当前位置: 首页 > 知识库问答 >
问题:

Dropbox下载文件API因400错误停止工作

仇正平
2023-03-14

我使用dropbox下载文件API,我得到了一个令牌,但它返回400错误请求错误”调用API函数时出错”文件/下载”:必须提供HTTP标头“授权”或URL参数“授权”

我遵循dropbox api文档,但它无法工作~“”~如何修复它?

这是我的代码(angular2)

downloadFile(fileid){
let headers = new Headers();

headers.append('Authorization', 'Bearer ' + this.accessToken);
headers.append('Dropbox-API-Arg','path:'+ fileid);

return this.http.post('https://content.dropboxapi.com/2/files/download',new RequestOptions({ headers: headers ,responseType:ResponseContentType.ArrayBuffer})).map((res) => {

  let arrayBuffer = res.arrayBuffer();
  let contentType = res.headers.get('content-type');
  return {
    fileid: fileid,
    blob: new Blob([arrayBuffer], { type: contentType })
  };
});

共有1个答案

舒浩邈
2023-03-14

我在android中使用dropbox v2 api。和你一样,我收到了400个错误的请求。事实证明,Android HttpUrlConnection设置了一个默认的“Content Type”头值。dropbox下载api要求“内容类型”缺失或为空。但我在iOS中没有同样的问题。

所以也许在angular2中,你需要做这样的事情:

headers.append('Content-Type','');

此外,“Dropbox-API-Arg”标头需要如下所示:

headers.append('Dropbox-API-Arg','{\"path\": \"/filepath\"}');
 类似资料:
  • 本文向大家介绍Dropbox API 在C ++中通过curl下载文件,包括了Dropbox API 在C ++中通过curl下载文件的使用技巧和注意事项,需要的朋友参考一下 示例 <ACCESS_TOKEN> 应该用您的访问令牌代替。

  • 本文向大家介绍Dropbox API 使用SwiftyDropbox库下载处理了所有错误情况的文件,包括了Dropbox API 使用SwiftyDropbox库下载处理了所有错误情况的文件的使用技巧和注意事项,需要的朋友参考一下 示例            

  • 当我运行得到的命令时,我面临新安装的Angular错误 我使用节点12.6.1与源代码树,并验证bow已安装

  • 由于没有对Unity3d和Dropbox的官方支持,我使用的是HTTP API。我可以使用代码流(通过在Unity3d中使用Application.OpenURL)执行oauth2/authorize,也可以执行oauth2/token Post部分(因此我可以登录并获得从oauth2/authorize获得的代码)。 问题是我真的不知道如何上传和下载文件。我尝试的内容(此代码位于协同例程中):

  • 我有最奇怪的FTP问题。重新启动后,windows命令行ftp程序立即运行良好。 重新启动操作系统(64位Win7),一切都好起来了。 我已经禁用了windows防火墙,因为许多讨论都围绕这一点。无论windows防火墙处于打开或关闭状态,该行为都是相同的。 我已经尝试切换PASV模式,并且再次,无论是否发送被动,行为都是相同的。 有任何想法,如何运行一个程序可能导致命令行ftp变得无法发送文件,

  • 然而,下载URL与paremeters有一些有趣的地方,它看起来如下所示: (在url中,'&\;‘实际上没有'\',但我把它放在帖子中,以避免将其转义为'&')。 那么这里是什么情况;我是否有3个参数h、e、gd,或者我有一个参数h,其值,或者我有以下3个参数值对:,,(我认为是这样,而且似乎是一个bug)? 为了形成一个正确的http请求,我需要清楚地知道参数、名称和值是什么,但是我有一个令人