我正在使用 Ubuntu One API(用 Java 编码),并且可以使用以下命令成功进行调用:
获取 /api/file_storage/v1
和
获取 /api/file_storage/v1/~/路径/到/卷/路径/到/节点
获取有关目录结构和文件的信息。
当我发出 GET 请求时:
https://files.one.ubuntu.com/YgLpi504etc.etc.etc。
我得到了一个网页(显然可以在浏览器中运行,但在我的代码中不行):
<html>
<head>
<title>OpenID transaction in progress</title>
</head>
<body onload="document.forms[0].submit();">
<form id="openid_message" action="https://login.launchpad.net/+openid" method="post" accept-charset="UTF-8" enctype="application/x-www-form-urlencoded"><input type="hidden" name="openid.return_to" value="https://files.one.ubuntu.com/auth/complete/?next=%2FYgLpi504SI6eOmbTtQuRWw%2F&janrain_nonce=2012-01-10T23%3A20%3A10ZjM6Ttj"/><input type="hidden" name="openid.realm" value="https://files.one.ubuntu.com/"/><input type="hidden" name="openid.ns" value="http://specs.openid.net/auth/2.0"/><input type="hidden" name="openid.sreg.optional" value="email,fullname,nickname"/><input type="hidden" name="openid.claimed_id" value="http://specs.openid.net/auth/2.0/identifier_select"/><input type="hidden" name="openid.ns.sreg" value="http://openid.net/extensions/sreg/1.1"/><input type="hidden" name="openid.assoc_handle" value="{HMAC-SHA1}{4efc9f73}{E6WEdg==}"/><input type="hidden" name="openid.mode" value="checkid_setup"/><input type="hidden" name="openid.identity" value="http://specs.openid.net/auth/2.0/identifier_select"/><input type="submit" value="Continue"/>
</form>
<script>
var elements = document.forms[0].elements;
for (var i = 0; i < elements.length; i++) {
elements[i].style.display = "none";
}
</script>
</body>
</html>
这是代码中使用的错误 URL 吗?
答案1
为了获取文件内容,您需要使用https://files.one.ubuntu.com/+ content_path
URL,用于https://one.ubuntu.com/files/无法与 OAuth 一起使用。