2016-08-23 5 views
0

Я собираю небольшой скрипт php, который извлекает файл из учетной записи Dropbox. Он используется для импорта CSV-данных на веб-сайты клиента.Как проверить подлинность учетной записи Dropbox и получить файл с помощью SDK PHP?

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

Существует учебное пособие по https://www.dropbox.com/developers-v1/core/sdks/php и далее, но я записал пошаговое руководство, которое, я надеюсь, полезно другим для их первых шагов с API Dropbox.

Я использовал PHP sdk, но, вероятно, он очень похож на все остальные SDK.

Итак, как мне выполнить аутентификацию в учетной записи Dropbox и получить содержимое файла?

ответ

1

Как API 1.x является устаревшим, вот шаг за шагом руководство для v2

  • Войдите в Dropbox с Dropbox счета разработчика
  • Перейти к «Dropbox App Console» https://www.dropbox.com/developers/apps и зарегистрировать Приложение (обычный API Dropbox). Назовите его соответствующим образом; имя не может содержать «Dropbox». Я выбрал «MYVENDORNAMEGetFile». Приложение - это ваш собственный скрипт, он просто зарегистрирован здесь. Следуйте описаниям. Выберите «Тип разрешения: папка приложения». «Статус: развитие» в порядке; disallow OAuth «Неявный грант»
  • Поскольку официального SDK для PHP больше нет, получите удержанный неофициальный номер от https://github.com/kunalvarma05/dropbox-php-sdk с composer require kunalvarma05/dropbox-php-sdk.
  • Создайте мини-сайт, создав три файла login.php, header.php и login-callback.php, как указано на https://github.com/kunalvarma05/dropbox-php-sdk/wiki/Authentication-and-Authorization; заполните header.php своей информацией.
  • Поместите этот мини-сайт на сервер (не обязательно в том же месте, где вы используете токен).
  • Зарегистрируйте ссылку на login-callback (например, https://www.mydomain/dropboxauth/login-callback.php) в качестве «Перенаправления URI» в Консоли приложения Dropbox.
  • Дайте ссылку на login.php вашему «пользователю» и попросите их аутентифицировать по этой ссылке. Если это вы сами, и вы используете другую учетную запись Dropbox, убедитесь, что вы используете правильный (используя различные браузеры).
  • Попросите пользователя передать вам возвращенный токен (вы также можете отправить его по электронной почте через php) и сообщить ему, где найти вновь созданный каталог Dropbox/Apps/MYVENDORNAMEGetFile.
  • Теперь вы можете использовать App Key, App Secret и Token для аутентификации и выполнения действий, например. получить содержимое файла как описано на https://github.com/kunalvarma05/dropbox-php-sdk/wiki/Upload-and-Download-Files

    // Configure Dropbox Application 
    $app = new \Kunnu\Dropbox\DropboxApp($dropboxAppKey, $dropboxAppSecret, $dropboxToken); 
    // Configure Dropbox service 
    $dropbox = new \Kunnu\Dropbox\Dropbox($app); 
    // Download Dropbox file 
    $file = $dropbox->download('/'.$fileName); 
    // File Contents 
    $itemData = $file->getContents(); 
    
+0

Dropbox имеет устаревший API-v1 и, кажется, не имеет никаких планов по реализации в SDK для PHP. См. Https://www.dropbox.com/developers/documentation/communitysdks для замены – Urs

 Смежные вопросы

  • Нет связанных вопросов^_^