0

我尝试使用 youtube java api 通过我的 java 桌面应用程序连接到我的 youtube 帐户,我已遵循本指南:https ://developers.google.com/youtube/2.0/developers_guide_java?hl=pt-BR#ClientLogin_for_Installed_Applications看起来很容易,但我得到一个错误,这是我的代码:

    String developer_key = "key123456789"; // Registered developer key
    String application_name = "app"; // Registered application name
    String user_account = "user@gmail.com"; // Server's Youtube account
    String user_password = "mypass"; // Server's Youtube password

    YouTubeService service = new YouTubeService(application_name, developer_key);

    try {
        service.setUserCredentials(user_account, user_password);
    } catch (AuthenticationException e) {
        System.out.println("Error: " + e);
    }

但我不断收到此错误:

com.google.gdata.util.AuthenticationException: Error connecting with login URI

错误发生在 setUserCredentials 函数中,有人知道我缺少什么吗?

4

1 回答 1

0

我发现了问题,我在代理下,(我已经更改了系统属性来连接这个代理),但是 youtube 使用 https 来代替 http 的用户登录,所以在代理设置中我只是添加了一个 https 代理现在可以工作了,这是我的代码:

        if(Assets.HTTP_USE_PROXY) {
        System.setProperty("proxySet", "true");
        System.setProperty("https.proxyHost", Assets.HTTP_PROXY_HOST);
        System.setProperty("https.proxyPort", Integer.toString(Assets.HTTP_PROXY_PORT));
        if(Assets.HTTP_REQUIRE_AUTH) {
            System.setProperty("https.proxyUser", Assets.HTTP_PROXY_USER);
            System.setProperty("https.proxyPassword", Assets.HTTP_PROXY_PASSWORD);
            Authenticator.setDefault(
                      new Authenticator() {
                        public PasswordAuthentication getPasswordAuthentication() {
                          return new PasswordAuthentication(Assets.HTTP_PROXY_USER, 
                                  Assets.HTTP_PROXY_PASSWORD.toCharArray());
                        }
                      }
                    );
        }
    }
于 2013-10-01T14:35:12.853 回答