Mam bardzo proste i szybkie pytanie. Używam klasy PHP Dropbox API napisanej przez Bena Tadiar. Używam $object->metaData("/");, aby pobrać listę plików z Dropbox. Zwracane dane nie zawierają adresu URL do pobrania/podglądu pliku. Muszę więc wywołać metodę $object->media() dla każdego pliku, aby uzyskać adres URL, co powoduje duże opóźnienie, szczególnie gdy lista plików jest zbyt długa.

Czy mimo to można uzyskać link do pobrania wraz z listą plików ???

4
D3 K 27 wrzesień 2012, 09:24

2 odpowiedzi

Najlepsza odpowiedź

Ponieważ nie mogłem znaleźć sposobu na uzyskanie adresu URL pobierania wraz z listą plików. Rozwiązaniem byłoby wypisanie wszystkich plików bez wywoływania $object->media() na każdym elemencie. Zamiast tego wywołaj tę metodę do pliku, który użytkownik wybrał do pobrania. Prosta szybka funkcja wyglądałaby mniej więcej tak:

function getDBDownloadUrl($Path){
    try{
        $mdb = new MyDropbox();
        $download = $mdb->media($Path);
        $download = $download['body'];
        return $download->url;
    }

    catch(Dropbox\Exception $e){
        return array("error"=>1, "message"=>"There was a problem accessing file download URL from dropbox");
    }

}
2
D3 K 30 listopad 2012, 08:42

Czy podczas wywoływania /metadata wywołujesz go z „listą” ustawioną na true? Jeśli tak, czy nie możesz pobrać ścieżki z tablicy content do pliku, który chcesz, a GET /files z tą ścieżką? https://www.dropbox.com/developers/reference/api#metadata

0
Kevin Perrine 30 wrzesień 2012, 06:53