Получить доступ к папке dropbox на Android
Есть ли способ получить доступ к папке dropbox?
у Меня есть следующая проблема, я разрабатываю webapp, который будет работать расположение в планшетах события, то для этого я использую app AndroPHP и я хочу, чтобы мой каталог apache бы папку dropbox, так что я мог бы обновить все приложения на планшетах, только обновление моей папке на dropbox, и таким образом, синхронизация с таблетками, кто-то знает какой-либо способ сделать это?
1 answers
Dropbox API для этого https://www.dropbox.com/developers/core/start/php
Простота интеграции, я думаю, не будет проблем.
================================================
Давайте тогда, как предложено:
=========================================
Основные Инструкции к APP
- СОЗДАТЬ ПРИЛОЖЕНИЕ В DROPBOX
- Создайте ПРИЛОЖЕНИЕ в DROPBOX https://www.dropbox.com/developers/apps/create
- Выберите пункт "Dropbox API app", затем выберите "Yes - My app only needs access to files, it creates."
- имя APP и затем вы будете перенаправлены на экран config APP
- установить url обратного вызова, где вы будете записывать маркер autenticacao
Ex:
http://localhost/dropboxAPI/end_auth.php
- Этой же странице появится ваш APP_KEY и APP_SECRET - что будет использовать для проверки подлинности APP.
=============================================
-
УСТАНОВИТЬ COMPOSER
=============================================
-
"Внутри папки" приложения " в данном случае я использовал папку "dropboxAPI/" создайте файл с именем "composer.json" поместите следующий код в нем
{ "require": { "dropbox/dropbox-sdk": "1.1.*" } }
- , войдите в папку " APP через CMD или терминал уже с файлом "композитор.json" создан.
EX:
/var/html/dropboxAPI/
e digite o comando:
composer install
- Дождаться окончания установки пакетов.
=============================================
СОЗДАНИЕ ФАЙЛОВ
-
В этом примере, что мы делаем, создайте следующие файлы
- index.php
- end_auth.php
- config.php
-
Файле ниже 'config.php'
<?php session_start(); function pre($arg){ echo "<pre>"; print_r($arg); echo "</pre>"; } require "vendor/autoload.php"; define('DROPBOX_KEY' , 'sua key'); define('DROPBOX_SECRET' , 'seu secret'); define('APP_NAME' , 'ShowRoomEvent'); # inicia classe $app = new Dropbox\AppInfo(DROPBOX_KEY,DROPBOX_SECRET); # metodo token verificacao $tokenCsfr = new Dropbox\ArrayEntryStore($_SESSION,'dropbox-auth-csrf-token'); # pede autenticacao $auth = new Dropbox\WebAuth($app,APP_NAME,'http://localhost/dropboxAPI/end_auth.php',$tokenCsfr); ?>
-
Ниже codigo 'end_auth.php' (или файл, который вы установить URL-адрес APP)
<?php # inicio arquivo end_auth.php # RECEBE O TOKEN DO DROPBOX require 'config.php'; list($getToken) = $auth->finish($_GET); if( isset($getToken) && !empty($getToken)){ # ARMAZENAR NA SESSAO OU BD $_SESSION['user_token'] = $getToken; header("Location: index.php"); } else{ echo "Erro ao gerar autenticacao"; } #fim arquivo end_auth.php ?>
-
Файл index.php на примерах основные
<?php require 'config.php'; # se voce colocar na url ?logout=true # vai limpara a sessao e pedir autenticacao novamemente # lembrando que voce pode armazenar essa info no BD, XML etc... if( isset($_GET['logout']) ){ unset($_SESSION['user_token']); } # verifica se tem token if( ! isset($_SESSION['user_token']) && empty($_SESSION['user_token'])) { # se nao tem token pede permissao para o usuario $url = $auth->start(); header("Location: " . $url); } # o token ja foi armazenado na sessao conforme arquivo 'end_auth.php' $user = new Dropbox\Client($_SESSION['user_token'],APP_NAME,'UTF-8'); $usuario = $user->getAccountInfo(); pre($usuario); echo "<br/><br/>"; /* EXEMPLO UPLOAD * Para fazer upload para o dropbox voce ja deve * ter o arquivo localmente ou fazer o upload e depois * enviar par ao drop * */ $arquivo = fopen("cascata.png",'rb'); $tamanho = filesize("cascata.png"); # onde o nome cascata_no_drop.png deve ser o nome que # vai ser usado no dropbox lembre de colocar / antes do nome $user->uploadFile("/cascata_no_drop.png",Dropbox\WriteMode::add(),$arquivo,$tamanho); /* * EXEMPLO DOWNLOAD * informar o path do arquivo no drop * informar novo nome para o arquivo "fopen mode 'wb'" */ $user->getFile("/cascata_no_drop.png", fopen("cascata_vinda_drop.png","wb")); /* * LISTA O QUE TEM NO DROPBOX */ $lista = $user->getMetadataWithChildren('/'); pre($lista); ?>