Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 26.01.2018 16:31:32

Ошибка получить shared link файла загруженного на dropbox

Всем привет,
В laravel 5.5 приложении нужно загрузить файл на dropbox и получить shared link этого файла.

Я использовал DropboxAdapter либу и эту https://murze.be/dropbox-will-turn-off- … pplication доку
И также читая тут о версии 2 dropbox-а
https://laravel.com/docs/5.5/filesystem … ving-files

Мне удалось загузить файл на dropbox, но проблема с получением shared link-а этого файла.
Делая :

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use Auth;
use Intervention\Image\Facades\Image as Image;
use Carbon\Carbon;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Storage;

use League\Flysystem\Filesystem;
use Spatie\Dropbox\Client;
use Spatie\FlysystemDropbox\DropboxAdapter;


...
class TmpCsvp extends MyAppModel
{

    ...
    public static function setToIsApplied($id,bool $to_copy, $to_employee_id)
    {
        ...
            $dropboxClient = new Client(env('DROPBOX_OATH'));
            $adapter = new DropboxAdapter($dropboxClient);
            $filesystem = new Filesystem($adapter);


            echo '<pre>$filesystem::'.print_r($filesystem,true).'</pre>';   // Вывод League\Flysystem\Filesystem Object класса
            echo '<pre>$dropboxClient::'.print_r($dropboxClient,true).'</pre>'; // вывод Spatie\Dropbox\Client класса

            $uploaded = $filesystem->put($dest_dropbox_file_name, $file, []);
            echo '<pre>$uploaded::'.print_r($uploaded,true).'</pre>';   // The output is 1

            $exists = Storage::disk('dropbox')->exists($dest_dropbox_file_name);
            echo '<pre>$exists::'.print_r($exists,true).'</pre>';

            $url = Storage::disk('dropbox')->url($dest_dropbox_file_name);  // THAT LINE RAISE EXCEPTION
            echo '<pre>$url::'.print_r($url,true).'</pre>';

Но получаю ошибку:

This driver does not support retrieving URLs. 

с выводом  https://imgur.com/a/HpE4M

При этом файл благополучно загружен по пути в  $dest_dropbox_file_name вроде “docs/-doc-130/lender_image_1.jpg”

Мой composer.json :

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": ">=7.0.0",
        "doctrine/dbal": "^2.5",
        "fideloper/proxy": "~3.3",
        "intervention/image": "^2.4",
        "laravel/framework": "5.5.*",
        "laravel/tinker": "~1.0",
        "maatwebsite/excel": "~2.1.0",
        "mcamara/laravel-localization": "^1.3",
        "rcrowe/twigbridge": "^0.9.5",
        "sebastiansulinski/dotenv": "^2.0",
        "sebastiansulinski/php-backup": "^2.0",
        "spatie/flysystem-dropbox": "^1.0",
        "spatie/laravel-backup": "^3.0.0"
    },
    "require-dev": {
        "filp/whoops": "~2.0",
        "fzaninotto/faker": "~1.4",
        "mockery/mockery": "~1.0",
        "phpunit/phpunit": "~6.0"
    },
    "autoload": {
        "classmap": [
            "database/seeds",
            "database/factories"
        ],
        "psr-4": {
            "App\\": "app/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "extra": {
        "laravel": {
            "dont-discover": [
            ]
        }
    },
    "scripts": {
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate"
        ],
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover"
        ]
    },
    "config": {
        "preferred-install": "dist",
        "sort-packages": true,
        "optimize-autoloader": true
    }
}

В моем коде/конфигурации ошибка?


Спасибо !

Не в сети

#2 28.01.2018 16:39:41

Re: Ошибка получить shared link файла загруженного на dropbox

По-прежнему ищу решение.
Никто я такой проблемой не сталкивался ?
Или есть средства лучшие упомянутой DropboxAdapter либы( для API 2 ) ?

Не в сети

Подвал раздела