Извлечение файла через Ubuntu One API возвращает веб-страницу
Я играю с Ubuntu One API (кодирование на Java) и могу успешно совершать звонки, используя:
GET / api / file_storage / v1
а также
GET /api/file_storage/v1/~/path/to/volume/path/to/node
получить информацию о структуре каталогов и файлах.
Когда я делаю запрос 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.