0

我在记录sharingCreateSharedLinkWithSettings方法响应时遇到问题。我试过使用短期和长期令牌,我得到 409/400/401 错误代码。我也不太确定路径应该是什么。如果调用了 app 文件夹,tron并且我在该文件夹中有一个名为cabin.mp3的文件,则路径字符串应该是/tron/cabin.mp3,cabin.mp3/cabin.mp3. 即使我传递了 accessToken,我也不确定我是否只是遇到了身份验证问题。

我没有使用该filesListFolder方法显示文件名的问题,因此不确定我缺少什么。


import './App.css';
import { Dropbox } from 'dropbox';


var dbx = new Dropbox({ accessToken: ACCESSTOKEN });


dbx.filesListFolder({path: ''})
  .then(function(response) {
    console.log(response);
    displayFiles(response.result.entries);
  })
  .catch(function(error) {
    console.log(error);
  });




dbx.sharingCreateSharedLinkWithSettings({path:'/tron/cabin.mp3'})
  .then(function(response){
    console.log('share:' + response)
    displaySharedLinks(response);
  })
  .catch(function(error){
    console.log(error);
  })

function displayFiles(files) {
      var filesList = document.getElementById('files');
      var li;
      for (var i = 0; i < files.length; i++) {
        li = document.createElement('li');
        li.appendChild(document.createTextNode(files[i].name));
        filesList.appendChild(li);
      }
}


function App() {
  return (
    <div className="App">
      <header className="App-header">
        <div id="files"></div>
 
      </header>
    </div>
  );
}




export default App;
4

1 回答 1

1

状态码,比如你得到的 400、401 和 409 码,只是表示响应错误的类型。您可以从嵌套的 API 错误对象中获取更具体的错误信息,如下所示:

  .catch(function(error){
    console.log(error.error);
  })

例如,如果出现 409 错误,您可能会收到类似 的 API 错误path/not_found,表示已连接帐户中该路径上没有任何内容。

至于您应该使用的路径,这取决于帐户的状态以及您的应用程序具有什么样的访问权限。不过,一般来说,您可以使用path_lower其他调用返回的项目,例如 from filesListFolder/filesListFolderContinuefilesGetMetadata

请注意,使用“应用程序文件夹”类型的应用程序植根于为应用程序创建的特殊应用程序文件夹中。使用该类型的应用程序的 API 调用是相对于应用程序文件夹本身自动执行的,因此在为该类型的应用程序进行 API 调用时,您不应同时提供应用程序文件夹本身的路径,例如列出文件夹的内容.

这意味着如果您想访问应用程序文件夹中的“tron”文件夹,而不是“/Apps/AppName/tron”,您只需使用“/tron”调用。同样,要访问“/Apps/AppName/tron/cabin.mp3”中的文件,您只需提供“/tron/cabin.mp3”。或者,如果您的意思是“/tron”是特殊应用程序文件夹的路径,并且文件直接位于其中,则您只需提供“/cabin.mp3”。

具有“完整 Dropbox”类型的应用可以访问帐户中的任何内容,因此应提供完整路径。

您可以在文件访问指南中找到更多信息。

于 2021-09-14T15:30:28.637 回答