Доступ к информации электронной таблицы из php

Я пытаюсь получить список пользователей из электронной таблицы Google, используя PHP, работающий на Google appengine.

Самое странное, что я использую учетную запись Google и ограничен своим доменом, как описано в ссылке здесь.

https://developers.google.com/appengine/articles/auth

Это действительно здорово, потому что мне не нужно ничего настраивать для людей, у которых нет @mydomain.com, и я делаю URL-адрес безопасным, чтобы другие не могли получить к нему доступ.

Нет запускает проблему. Я пытаюсь получить доступ к электронной таблице, чтобы получить список пользователей, но это не так просто, как кажется. Есть темы о accesstoken и Oauth2.0 и т. д., но я не использую ни один из них, и в этом нет необходимости, если вы используете эту опцию для аутентификации пользователя.

Как мне прочитать информацию в электронной таблице из этого файла PHP?

Мой файл app.yaml для этого файла, как показано ниже.

- url: /attendance/form.php
  script: attendance/Form/form.php
  login: required
  auth_fail_action: redirect

Должен быть простой способ прочитать информацию из электронной таблицы Google, и, поскольку это PHP, я могу ввести свое имя пользователя и пароль, не вижу в этом проблемы.

Я также проверил https://developers.google.com/google-apps/documents-list но у него нет кода для PHP и я не знаю JAVA. Кто-нибудь знает, что делать в этой ситуации?


person Abilash Amarasekaran    schedule 25.07.2014    source источник


Ответы (2)


После долгих головокружений и догадок я понял это.

Следовал инструкциям здесь

https://github.com/google/google-api-php-client

  • вам не нужен JSON для версии GAE, так как он имеет PHP 5.4

Что касается библиотеки установки, вы должны загрузить и поместить папку «Google» в папку с кодом, чтобы она загружалась в GAE вместе с вашим приложением, а затем включала библиотеку со следующими

set_include_path(get_include_path() . PATH_SEPARATOR . 'Google/src');

Затем документ говорит, что вам нужно добавить ключ приложения

$client->setDeveloperKey("YOUR_APP_KEY");

Я понятия не имел, что такое APP KEY. Я продолжаю копаться в документе и продолжаю говорить, что нужно перейти в консоль разработчика. Я до сих пор не знаю, что такое КЛЮЧ ПРИЛОЖЕНИЯ. Теперь пытаемся избавиться от ошибки браузера, в которой говорится, что неверная настройка ключа

введите здесь описание изображения

Этот ключ API и есть «YOUR_APP_KEY». Я действительно хочу, чтобы кто-нибудь объяснил мне, что я провела дни в замешательстве и потерянности. Это было более запутанным, когда он говорил сервер или браузер. Я до сих пор не знаю, должен ли я использовать браузер или сервер. Сейчас он работает, поэтому я не буду с ним возиться.

Шаги по началу работы также не говорят о том, что вам нужно выполнить require_once . Я новичок, и документы должны объяснять шаг за шагом. Я не знаю, что может понадобиться другим, но добавьте любую услугу, которая вам нужна, например

require_once 'Google/Client.php';
require_once 'Google/Service/Drive.php';

В приведенной выше ссылке даже не говорится о различных сервисах, найденных в ней. Мне нужно найти имя файла, а затем открыть его, чтобы узнать имя службы. Хотя после всего этого это выглядит просто, было бы неплохо, если бы они были перечислены в ссылке на документацию. Я до сих пор не знаю, какие команды мне нужны, чтобы вытащить другие вещи.

Затем, после некоторого бездумного щелчка, я обнаружил, что мы можем найти или узнать о функциях API, фактически щелкнув в консоли.

https://console.developers.google.com/project/apps~YOURAPPID>/apiui/api/drive -- не могу отформатировать, извините

Затем я набросал немного кода и оказался с помощью других в стеке.

try{
$file = $service->files->get(FILEID);
print "Title: " . $file->getTitle();
print "Description: " . $file->getDescription();
print "MIME type: " . $file->getMimeType();
}

catch (Exception $e) {
    print "An error occurred: " . $e->getMessage();
}

FILEID — это длинное значение, которое Google присваивает каждому файлу. Я решил, что могу протестировать его с помощью онлайн-интерфейса DriveAPI, который позволяет выполнять запросы и смотреть, что я получаю. Сначала я получил ошибку, что файл не найден. Кажется, мне нужно включить Oauth 2.0, чтобы он работал.

На данный момент я вошел в систему и знаю, какой тип файла я могу видеть. Я надеюсь, что это поможет любому, кто пробует это в первый раз. Я попытаюсь обновить, как только смогу прочитать информацию из файла.

person Abilash Amarasekaran    schedule 07.08.2014

Клиентская библиотека Google API — это то, что вам нужно: https://github.com/google/google-api-php-client

person Mars    schedule 28.07.2014
comment
Я предполагаю, что папка src клиента api php также должна быть загружена вместе с кодом. Теперь вот где это сбивает с толку. - person Abilash Amarasekaran; 29.07.2014
comment
$client_id = '‹ВАШ_КЛИЕНТ_ID›'; //Идентификатор клиента $service_account_name = ''; //Адрес электронной почты $key_file_location = ''; //key.p12 является идентификатором клиента идентификатором приложения? Какой ключ .p12 необходимо создать? Единственный ключ, который я вижу, — это доступ к Public API на console.developer.google.com, и у него есть несколько вариантов, но я не знаю, какой использовать? Ключ сервера или ключ браузера? какой URL должен быть в поле? Можно ли загрузить ключ в GAE или мне нужно разместить его отдельно. - person Abilash Amarasekaran; 29.07.2014
comment
Кто-нибудь знает, что делать - person Abilash Amarasekaran; 06.08.2014
comment
Этот документ может оказаться полезным для вас: developers.google.com/api-client-library/ php - person Mars; 06.08.2014