get запрос и google docs

mikekoro

Новичок
get запрос и google docs

Итак, есть файл который лежит по ссылке на Google Docs:

http://docs.google.com/feeds/download/documents/Export?docID=DOCID&exportFormat=html

Если открывать эту ссылку в браузере, то файл можно скачать к себе на компьютер.

мне же надо скачивать его к себе на сервер с помощью php, гугл говорит про запрос

GET /feeds/download/documents/Export?docID=DOCID&exportFormat=html

нужна помощь в написании вот этого запроса...
 

zerkms

TDD infected
Команда форума
Если гугл защищается от подобных попыток - значит они не хотят, чтобы файлы вот таким образом брали и скачивали.
 

mikekoro

Новичок
от каких попыток?
в официальной документации говорится если хотите скачать файл, используйте запрос GET /feeds/download/documents/Export?docID=DOCID&exportFormat=html

но это все что там есть. как его выполнить с помощью php?

небольше вознагрождение за помощь в разрегении данного вопроса:)
 

zerkms

TDD infected
Команда форума
А. Ну если так - тогда тупо file_get_contents() или даже copy().
 

mikekoro

Новичок
ну copy() пробывал пишет недостаточно прав,
а вот

// Create a stream
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"/feeds/download/documents/Export?docId=$cut&exportFormat=html" .
"Cookie: foo=bar\r\n"
)
);

$context = stream_context_create($opts);

// Open the file using the HTTP headers set above
$file = file_get_contents()('https://docs.google.com/', $opts, "r");

echo $file;

возвращает страницу для ввода логина и пароля.

мне кажется все должно быть как то проще. когда кликаешь по ссылке гугл генерирует страницу из файла, загруженного ранее. в данном случае это doc файл который конвертируется в html (docID это ID этого doc файла, а exportFormat это во что его конвертировать. можно подставиь пдф, ртф и тд...

и вот когда гугл сгенерировал страницу ее предллгается скачать. это как то можно реализовать с помощью GET запроса (GET то что сгенерировано)
 

crocodile2u

http://vbolshov.org.ru
> все должно быть как то проще

Ну знамо дело. file_get_contents('https://docs.google.com/feeds/download/documents/Export?docId=$cut&exportFormat=html'); - пробовали?
 

zerkms

TDD infected
Команда форума
У меня эта ссылка, кстати, в браузере не открывается.

"Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится."
 

mikekoro

Новичок
и что должно произойти?)

вот что нашёл:

"The GET request is the underlying Google API command that will cause your file to be created in HTML format and returned to your server."
те GET это Api функция Гугла, выполнение которой повлечет создание вашего файла в ХТМЛ формате и будет возвращен к вам на сервер.

вот эта часть из документаии:

http://code.google.com/apis/documents/docs/3.0/developers_guide_protocol.html#DownloadingDocs

-~{}~ 11.10.10 08:14:

Автор оригинала: zerkms
У меня эта ссылка, кстати, в браузере не открывается.

"Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится."
да там надо быть в гугл докс залогиненынм и значение DocId подставляется из скрипта
 

zerkms

TDD infected
Команда форума
Ну дык - OAuth.
Аутентификация там нужна, только не логин-паролем, а через OAuth.
 

mikekoro

Новичок
ну вообще я немного сморозил про быть залогиненым

мой скрипт:

Код:
<?php

set_include_path(get_include_path() . PATH_SEPARATOR . "/home/localhost/www/libraries/zend/library/");
require_once("Zend/Loader.php");
Zend_Loader::loadClass('Zend_Gdata');
Zend_Loader::loadClass('Zend_Gdata_Query');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
Zend_Loader::loadClass('Zend_Gdata_Docs');
Zend_Loader::loadClass('Zend_Gdata_Docs_Query');

$username = 'log';
$password = 'pass';

$service = Zend_Gdata_Docs::AUTH_SERVICE_NAME; 
$httpClient = Zend_Gdata_ClientLogin::getHttpClient($username, $password,
    $service);
$docs = new Zend_Gdata_Docs($httpClient);

$feed = $docs->getDocumentListFeed();

foreach ($feed->entries as $entry) {
$titleid=$entry->title;
$fileid=$entry->id;
$cut = substr($fileid, 63);
if ($titleid=="Resume.doc")
{
echo "<a href=https://docs.google.com/feeds/download/documents/Export?docId=$cut&exportFormat=html>down</a><BR>";
}
}
?>
что происходит в этом скрипте так это ссылка на скачивание файла Resume.doc про которую я говоррил выше

$cut это ID файла
 
Сверху