Apache Camel Google Drive空文件

时间:2018-06-25 10:48:04

标签: java apache google-drive-api apache-camel

我正在尝试使用Apache Camel与Google云端硬盘进行通信。我已经为我的项目设置了Google的API,并且一切正常,但当我尝试将文件上传到GDrive时,该文件为空。 这是我的代码:

public static void main(String[] args) throws Exception {
    CamelContext context = new DefaultCamelContext();

    GoogleDriveConfiguration configuration = new GoogleDriveConfiguration();
    configuration.setApplicationName("camel-drive");
    configuration.setClientSecret("...");
    configuration.setClientId("...");
    configuration.setAccessToken("...");
    configuration.setRefreshToken("...");

    GoogleDriveComponent googleDriveComponent = new GoogleDriveComponent();
    googleDriveComponent.setConfiguration(configuration);
    context.addComponent("google-drive", googleDriveComponent);

    context.addRoutes(new RouteBuilder() {
        public void configure() {
            from("file:data/inbox?noop=true")
            .to("google-drive://drive-files/insert?inBody=content");
        }
    });
    context.start();
    Thread.sleep(20000);
    context.stop();
}

我的理解是,在阅读了Google和Camel的文档之后,Camel组件需要一个content和一个mediaContent参数。 content应该包含文件元数据,例如名称和文件类型,而mediaContent应该包含文件的实际内容。

现在,此Camel组件还允许使用特殊的URI选项inBody,它告诉端点在交易所的正文中搜索指定的选项。

这就是我所做的...如果我将'mediaContent'指定为inBody,则该文件甚至都不会上传。

我这里缺少什么吗?

0 个答案:

没有答案