Мы разрабатываем приложение для Android для загрузки файлов из Google Doc. Мы смогли вывести список файлов с помощью API Google Docs List. Также мы смогли загрузить файлы электронных таблиц из документации Google. Но когда мы пытались загрузить PDF-файл из Google Docs, он всегда возвращается с ошибкой 401. Это фрагмент кода, который мы используем для загрузки файла.
CommonsHttpOAuthConsumer consumer = new CommonsHttpOAuthConsumer(C.OAuth.CONSUMER_KEY, C.OAuth.CONSUMER_SECRET); consumer.setMessageSigner(new HmacSha1MessageSigner()); consumer.setTokenWithSecret(token, secret); ......... String url1 = consumer.sign(obj.url+"&exportFormat=txt"); // Create complete url get.setURI(URI.create(url1)); response = client.execute(get); if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { Log.v("GDATA MAIN", "not error"); } else { Log.v("GDATA MAIN", "error"+response.getStatusLine().getStatusCode()); }
Это URL, который я генерирую для загрузки файла.
https://doc -04-0s-docs.googleusercontent.com / документы / securesc / 5pv2dhsk6q500b1vl99u2gr2gvpqfifr / d8oihkmccnh39ie9io5bhqaf3jof7t16 / 1324030500000/01234800628230479895/01234800628230479895 / 0B4royw-5u0TDNGU3ZjZiZTAtN2ZhNi00YWE3LWEwZGEtMTMwNWJhMGE1YWRk? Ч = 16653014193614665626 & е = скачать & Г.Д. = истина & exportFormat = ТХТ & oauth_signature = 3lfP0reuJhMWstxMKMAlJh% 2BZ7Ug% 3D & oauth_token = 1% 2FQnEPtLXrhT8q6yk8oLoI2ZPyZzQptbB4mQrBJf-HJfM & oauth_consumer_key = 418002400742-nrh3mt73pfvl6flshi8f7uvki49ofqj8.apps.googleusercontent.com & oauth_version = 1,0 & oauth_signature_method = HMAC-SHA1 & oauth_timestamp = 1324031523 & oauth_nonce = 351034367494689817
Можно предположить, почему мы не можем загрузить PDF, но форматы электронных таблиц работают?
Я думаю, что вы не запрашиваете правильные области при авторизации токена.Области, для которых вы должны запросить токен:
https://docs.google.com/feeds/ https://spreadsheets.google.com/feeds/ https://docs.googleusercontent.com/
Вы только что заставили меня осознать, что в раздел Авторизация нашей документации была добавлена ошибка, удаляющая область действия docs.googleusercontent.com.Я добавлю это обратно.