Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Dropbox Java API将文件上载到Dropbox_Java_Upload_Dropbox_Dropbox Api - Fatal编程技术网

使用Dropbox Java API将文件上载到Dropbox

使用Dropbox Java API将文件上载到Dropbox,java,upload,dropbox,dropbox-api,Java,Upload,Dropbox,Dropbox Api,我想使用DropBox的JavaAPI上传文件。下面的代码获取oauth_令牌和oauth_秘密。但每当我试图上传一个文件时,我都会遇到一个例外。 Java类 package com.dropbox.client; import com.dropbox.client.DropboxAPI.Config; import java.io.File; import java.net.URL; import java.util.HashMap; import java.util.Map; /**

我想使用DropBox的JavaAPI上传文件。下面的代码获取oauth_令牌和oauth_秘密。但每当我试图上传一个文件时,我都会遇到一个例外。
Java类

package com.dropbox.client;

import com.dropbox.client.DropboxAPI.Config;
import java.io.File;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;

/**
 *
 * @author Charan
 */
public class DBmain {

    public DBmain() {
        System.setProperty("java.net.useSystemProxies", "true");
        Map configuration= new HashMap();
        configuration.put("consumer_key", "XXXXXXXXXXXXXXXX");
        configuration.put("consumer_secret", "XXXXXXXXXXXXXXXX");
        configuration.put("request_token_url", "http://api.dropbox.com/0/oauth/request_token");
        configuration.put("access_token_url", "http://api.dropbox.com/0/oauth/access_token");
        configuration.put("authorization_url", "http://api.dropbox.com/0/oauth/authorize");
        configuration.put("port",80);
        //configuration.put("trusted_access_token_url","http://api.getdropbox.com/0/token");
        configuration.put("server","api.getdropbox.com");
        configuration.put("content_server","api-content.dropbox.com");
        String username="myMailAddress@domain.com";
        String password="myPassword";
        try {
           Authenticator auth = new Authenticator(configuration);
           String url = auth.retrieveRequestToken("");
           String access_key = auth.getTokenKey();
           String access_secret = auth.getTokenSecret();
           System.out.println(access_key);
           System.out.println(access_secret);

           DropboxAPI api = new DropboxAPI();
           DropboxAPI.Config conf = api.new Config(configuration);
           api.authenticateToken("XXXXXXXXXXXX", "XXXXXXXXXXX", conf);
           System.out.println(api.isAuthenticated());
           URL resource = this.getClass().getResource("/config/testing.json");
            
           File f= new File(resource.toURI());
           api.putFile("dropbox", "/Project", f);

           //api.accountInfo(); //even this method gives me a exception
        } catch (Exception e) {
                e.printStackTrace();
        }
    }
    
    public static void main(String[] args) {
            new DBmain();
        }
}
例外情况

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.http.protocol.BasicHttpContext: method <init>()V not found
    at org.apache.http.impl.client.DefaultHttpClient.createHttpContext(DefaultHttpClient.java:205)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:532)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
    at com.dropbox.client.DropboxClient.putFile(DropboxClient.java:299)
    at com.dropbox.client.DropboxAPI.putFile(DropboxAPI.java:463)
    at com.dropbox.client.DBmain.<init>(DBmain.java:58)
    at com.dropbox.client.DBmain.main(DBmain.java:70)
Java Result: 1

您的类不应位于package
com.dropbox.client
中。尝试将其移动到其他位置(即
com.yourname.client
)。看起来您可能正在创建名称冲突,并无意中覆盖了Dropbox客户端API中的某些内容。

您已将
API.getdropbox.com:80
指定为主机名。尝试改用
api.getdropbox.com

您应该使用http client 4.0.3 jar

我尝试将该类移到另一个包中,但遗憾的是它没有帮助。您应该执行以下操作:用上面添加的帮助您解决原始问题的信息发布问题的答案。然后创建一个关于UnknownHostException.BTW的新问题,api.getdropbox.com为我解析为174.36.30.69。如果您尝试从命令行ping主机名会发生什么情况?@Jim我尝试使用ping命令,但每次我将其用于任何主机时,都会出现相同的错误
ping请求无法找到主机google.com。请检查姓名,然后重试。
我将手机用作带有代理的调制解调器。我可以上网冲浪,但是ping命令根本不起作用。我的未知后异常的根本原因。@charanraj如果您仍在努力解决这个问题,我在这里举了一个可能会有所帮助的例子:@berry120感谢您共享此链接。我会查看它
com.dropbox.client.DropboxException: java.net.UnknownHostException: api.getdropbox.com:80
    at com.dropbox.client.RESTUtility.request(RESTUtility.java:250)
    at dump.DropboxClient.accountInfo(DropboxClient.java:121)
    at com.charan.client.DBmain.<init>(DBmain.java:57)
    at com.charan.client.DBmain.main(DBmain.java:65)
Caused by: java.net.UnknownHostException: api.getdropbox.com:80
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:436)
    at java.net.Socket.connect(Socket.java:525)
    at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:123)
    at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:123)
    at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:147)
    at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:101)
    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:381)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:641)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:576)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:554)
    at com.dropbox.client.RESTUtility.executeRequest(RESTUtility.java:172)
    at com.dropbox.client.RESTUtility.request(RESTUtility.java:248)
    ... 3 more