Re:youtube视频评级api(v3)在模拟器中工作但在真实设备中出现403错误

时间:2016-04-12 09:38:26

标签: java youtube-api codenameone youtube-data-api

客户端ID,密码等都是正确的。我重新检查了他们。谷歌+登录工作,我也获得访问令牌,但当我尝试使用youtube视频评级api时,它在真实设备中提供403禁止错误。但它在模拟器中工作正常。这可能是什么问题?有人可以帮忙吗?任何帮助表示赞赏。三江源

P.S。之前我没有使用“gc.setScope(”https://www.googleapis.com/auth/youtube.force-ssl“)”代码中的这一行,它也在模拟器中给出了相同的禁止错误,但是现在我添加了该行并在模拟器中工作但是给出了403真实设备中的禁止错误。

sign.addActionListener((e) -> {
    String clientId = "873649282964-7r6088ua0jhoua2tngpblhf4u8elda55.apps.googleusercontent.com";
    String redirectURI = "https://www.youtube.com/";
    String clientSecret = "_T7cyd-kWQKDzH0ZwiIeq1jr";
    gc = GoogleConnect.getInstance();
    gc.setClientId(clientId);
    gc.setRedirectURI(redirectURI);
    gc.setClientSecret(clientSecret);
    gc.setScope("https://www.googleapis.com/auth/youtube.force-ssl");
    gc.setCallback(new LoginCallback() {
        @Override
        public void loginFailed(String errorMessage) {
            System.out.println("errorMessage");
        }

        @Override
        public void loginSuccessful() {
            System.out.println("login success");
        }
    });
    if (!gc.isUserLoggedIn()) {
        gc.doLogin();
    } else {
        //get the token 
        token = gc.getAccessToken().getToken();
    }
});

Button like = new Button("Like");
likeForm.add(like);

like.addActionListener((e) -> {
    token = gc.getAccessToken().getToken();
    ConnectionRequest cr = new ConnectionRequest() {

        @Override
        protected void readResponse(InputStream input) throws IOException {
            super.readResponse(input);
        }

        @Override
        protected void postResponse() {
            like.setText("Like: " + "ok");
        }
    };
    cr.setPost(true);
    cr.setUrl("https://www.googleapis.com/youtube/v3/videos/rate?id=" + "lIHr4ZVMBoo" + "&rating=like&access_token="+ token);
    System.out.println("geturl " + cr.getUrl());
    cr.setDuplicateSupported(true);     
    NetworkManager.getInstance().addToQueueAndWait(cr);
});

错误日志:

04-15 08:05:10.761: E/GMPM(5344): getGoogleAppId failed with status: 10
04-15 08:05:10.761: E/GMPM(5344): Uploading is not possible. App measurement disabled
04-15 08:06:02.901: E/Volley(2900): [154] BasicNetwork.performRequest: Unexpected response code 403 for https://www.googleapis.com/plus/v1/people/me

1 个答案:

答案 0 :(得分:0)

您将登录错误或成功打印到控制台,而不是显示将在设备上显示的UI。因此,您的登录可能不会成功。

据我所知,Google API也需要Authorization http标头,因为我们使用它here但是如果它在模拟器上运行我不确定这是问题。