Dropbox php api проблемы - PullRequest
       28

Dropbox php api проблемы

2 голосов
/ 09 января 2012

У меня постоянно возникают проблемы с dropbox php api , я просто пытаюсь заставить его работать, используя getmeta.но я продолжаю получать следующую ошибку ??

Я думаю, что проблемы здесь.

public function getToken($email, $password) {

        throw new Dropbox_Exception('This API method is deprecated as of the version 1 API');

    }

вот мой код.

<code>$consumerKey = 'oksergerg1x1r';
$consumerSecret = 'zexb0rg6h54tgzzb';

require($_SERVER['DOCUMENT_ROOT'] . '/wp/includes/Dropbox/autoload.php');

//session_start();
$oauth = new Dropbox_OAuth_Wordpress($consumerKey, $consumerSecret);

echo "<pre>";
print_r($oauth);
echo "
"; // Если PHP OAuthрасширение недоступно, вместо этого вы можете попробовать // PEAR HTTP_OAUTH. // $ oauth = new Dropbox_OAuth_PEAR ($ consumerKey, $ consumerSecret); $ dropbox = new Dropbox_API ($ oauth); $ tokens = $ dropbox-> getToken ('mrhandsome (' mrhandsome)@ example.org ',' secretpassword '); // Рекомендуется сохранить эти токены, обратите внимание, что вам // не нужно сохранять имя пользователя и пароль, поэтому просто спросите своего пользователя // в первый раз, а затем уничтожьтеим. echo "Tokens: \ n"; print_r ($ tokens);

так что я говорю, что функция getToken устарела, так что мы должны использовать вместо этого ??

ОБНОВЛЕНИЕ

Хорошо, извините, googled abit, и я вижу, что новая версия больше не поддерживает getTokens, хотя они и есть в примерах по какой-то причине.

Так что я сейчас растерялся.

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

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

Извините, я действительно смущен тем, что сейчас работаю последние два дня, пытаясь выяснить это.

1 Ответ

1 голос
/ 10 марта 2012

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

По сути, вам нужно сделать следующее:

В классе вашего провайдера Oauth звоните:

$tokens = $oauth->getRequestToken();

Затем перенаправьте пользователя на $oauth->getAuthorizeUrl(), чтобы он мог пройти аутентификацию в Dropbox и подтвердить ваш доступ.

Наконец, позвоните:

$tokens = $oauth->getAccessToken();
$oauth->setToken($tokens);

Вы можете хранить $tokens где-нибудь для будущего использования при подключении. Который вы будете использовать по телефону:

$oauth->setToken($tokens);
$dropbox = new Dropbox_API($oauth);

Надеюсь, это поможет. Вы можете сделать еще кое-что (например, предоставить URL-адрес обратного вызова для Dropbox, чтобы перенаправить пользователя обратно). Просто проверьте файл APITests.php и файл установки в каталоге тестов источника: https://github.com/Dropbox-PHP/dropbox-php/tree/master/tests

...