Camel:使用Google云端硬盘删除文件

时间:2016-03-05 11:42:46

标签: google-drive-api apache-camel

我无法理解Apache Camel。我需要从Google云端硬盘中删除文件。以下是我的代码。

private static List scopes = Arrays.asList(“https://www.googleapis.com/auth/drive.file”);

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

        GoogleDriveConfiguration configuration = new GoogleDriveConfiguration();
        configuration.setApplicationName("camel");
        configuration.setClientId("..");
        configuration.setClientSecret("..");
        configuration.setScopes(scopes);
        configuration.setAccessToken("..");
        configuration.setRefreshToken("..");

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

        context.addRoutes(  
             new RouteBuilder()  
             {  
                @Override  
                public void configure() throws Exception  
                {  
                    from("google-drive://drive-files/delete?fileId=..").log(LoggingLevel.INFO, "${body}");   
                }  
             });  
          context.start();  
          Thread.sleep(10000);  
          context.stop();  
       }}

建议一些事情。我做错了什么?

堆栈跟踪:

org.apache.camel.RuntimeCamelException:com.google.api.client.googleapis.json.GoogleJsonResponseException:404 Not Found {   “代码”:404,   “错误”:[{     “域名”:“全球”,     “location”:“文件”,     “locationType”:“其他”,     “message”:“找不到文件:..”,     “理由”:“notFound”   }],   “消息”:“找不到文件:..” }

1 个答案:

答案 0 :(得分:0)

如果你必须使用camel而不是"来自",我会在1次计时器上启动一个路由,并且路由中的下一步是在我自己的类中接受文件名并删除的方法调用它来自谷歌驱动器,然后记录响应。我同意@Jeremie B你不应该使用camel来删除1个文件。