尝试使用 Dropbox 与 Uppy 集成时缺少 `client_id`

问题描述 投票:0回答:1

我正在尝试使用 Dropbox 集成在此处输入链接描述。使用 XHR 上传器正常上传文件效果很好。然后我添加了他们的 Dropbox 集成并按照他们的文档中的描述设置了 Dropbox 帐户 (https://uppy.io/docs/dropbox/),但我似乎遗漏了一些东西

这是我的反应组件:

import React, { useEffect } from 'react';
import { Uppy, debugLogger } from '@uppy/core';
import { Dashboard } from '@uppy/react';
import XHRUpload from '@uppy/xhr-upload'
import Dropbox from '@uppy/dropbox';

// Don't forget the CSS: core and the UI components + plugins you are using.
import '@uppy/core/dist/style.min.css';
import '@uppy/dashboard/dist/style.min.css';
import '@uppy/webcam/dist/style.min.css';

// Don’t forget to keep the Uppy instance outside of your component.
const uppy = new Uppy({ logger: debugLogger })
    .use(XHRUpload, {
        endpoint: 'http://localhost:5000/api/fileManager/upload',
        fieldName: 'file',
        formData: true
    })
    .use(Dropbox, {
        companionUrl: 'http://localhost:3020',
    });

function FileManager() {
    return <Dashboard uppy={uppy} plugins={['Dropbox']} />;
}

export default FileManager;

我使用 docker 托管我自己的同伴:

services:
  companion:
    image: "transloadit/companion:latest"
    ports:
      - "3020:3020"
    environment:
      COMPANION_DATADIR: "./output"
      COMPANION_DOMAIN: "localhost:3020"
      COMPANION_PORT: "3020"
      COMPANION_ALLOW_LOCAL_URLS: "true"
      COMPANION_DROPBOX_KEY: "xxx"
      COMPANION_DROPBOX_SECRET: "xxx"
    volumes:
      - ./output:/app/output

我有一个基本的 Flask API 在

localhost:5000

下工作
from flask import Blueprint, request
import os
import multipart

fileManager = Blueprint('fileManager', __name__)

@fileManager.route('/fileManager/upload', methods=["GET"])
def get():
    return {"message":"this is atest"}, 200


@fileManager.route('/fileManager/upload', methods=["POST"])
def post():
    file = request.files['file']
    file.save(os.path.join('./output', file.filename))

    return {"message":"this is atest"}, 200

这是我的 Dropbox 设置:(请注意,我将其设置为 localhost。)

我收到以下错误:

Error (400)

It seems the app you were using submitted a bad request.
If you would like to report this error to the app’s developer,
include the information below.
More details for developers

Missing client_id.

我不知道我还应该做什么。 XHR 文件上传工作正常,想尝试使用同伴的东西。我也阅读了所有 github 问题,但我似乎无法解决问题。

如有任何帮助,我们将不胜感激。

oauth dropbox uppy transloadit
1个回答
0
投票

所以今天,我带着清新而清醒的头脑回来尝试找出答案。事实证明,我没有正确重新创建 docker 容器,并且我的环境变量从未设置过。

您可以使用

docker exec -it <container_id> sh
或类似的东西连接到正在运行的 docker compose 容器,并使用
env
命令打印所有环境变量。我错过了保管箱密钥和秘密。重新创建了容器和所有东西,现在它就在那里并且现在应该可以工作了。 :)

© www.soinside.com 2019 - 2024. All rights reserved.