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

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

附:之前我没有使用“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

解决方法

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

据我所知,谷歌API也需要授权http标头,因为我们使用它here,但如果它在模拟器上工作,我不确定这是什么问题.

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...