【问题标题】:OAuth throws null reference exceptionOAuth 抛出空引用异常
【发布时间】:2017-04-23 19:07:16
【问题描述】:

最近,Nemiro.OAuth api 出于某种原因抛出空引用异常。在获得最新版本Nemiro.OAuth v1.12.0 和Nemiro.OAuth.loginForms v1.6.0 之后,它开始表现得像这样,并没有以任何方式改变我实现的逻辑。

我在 Dropbox 中的文件结构:

https://www.dropbox.com/home/Apps/MyApplication/MyFolder/SubFolder/Some%20folder1/MyFiles

新旧 uri:

/MyFolder/SubFolder/Some folder1/MyFiles/somefile.png

当我调用OAuthUtility.Post 时,它显示以下错误消息:

我正在使用以下逻辑来处理请求:

string oldUri = oldPath.ToUri();
string newUri = newPath.ToUri();

var paramCollection = new HttpParameterCollection
{
    {"access_token", ACCESS_TOKEN},
    {"from_path", oldUri },
    {"to_path", newUri },
    {"root","auto"}
};

OAuthUtility.Post
(
    "https://api.dropboxapi.com/1/fileops/move",
    paramCollection
);

我已经检查了 Dropbox 中是否存在文件,我的访问令牌也是有效的,正如您所看到的那样,路径是正确的。
其他操作也失败了,例如 https://content.dropboxapi.com/1/files_put/auto{0}/{1}

什么可能导致这种情况? 可能是新的 Dropbox api V2 的东西吗?

更新

它确实有效,但同时抛出空引用异常.. 这很烦人,这意味着我需要将每个操作包装在 try catch 块中。此外,当我创建新的控制台应用程序并执行相同的代码时,它毫无例外地工作。这意味着,我的项目出了点问题。

【问题讨论】:

    标签: c# oauth dropbox-api


    【解决方案1】:

    0。 Dropbox API v1 已被弃用:

    https://blogs.dropbox.com/developers/2016/06/api-v1-deprecated/

    ...为了向我们的开发人员提供最新的功能并支持单一、一致的平台,我们将在一年后的 6/28/ 关闭 API v1 2017 年。

    大约还有两个月 :-) 我建议切换到新版本的 API。

    1。你传递了 URI 吗?但是你为什么要这样做?只需使用相对于应用程序根目录的字符串路径。我尝试使用 URI,此代码对我不起作用,服务器返回错误 404。

    我使用了相对路径并检查了代码,没有发现任何问题。 如果可能,请显示出现问题的完整代码。 或者您可以通过电子邮件将项目发送给我:aleksey.nemirogmail.com

    【讨论】:

      猜你喜欢
      • 2021-04-29
      • 2022-01-05
      • 2011-07-22
      • 2014-11-19
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 1970-01-01
      • 2020-10-12
      相关资源
      最近更新 更多