java - 用于获取我的视频的YouTube数据API返回authError

标签 java android youtube

Http URL Connection Code for hitting YouTube Data API


{
URL u = new URL(url);
    //Set up the Connection
    connection = (HttpURLConnection) u.openConnection();
    connection.setDoOutput(true);
    connection.setRequestMethod("GET");
    connection.setRequestProperty("Accept", "application/json");
    connection.setRequestProperty("Content-Type", "application/json");
    connection.setRequestProperty("X-Android-Package", "com.xxxxxx.xxxxxxxxxxxx");
    connection.setRequestProperty("X-Android-Cert", "C3:E3:59:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx"); connection.setRequestProperty("Authorization", "Bearer ya29.GlsaBQ2iHUUHtf_PInfsjmdKOKxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
        connection.setUseCaches(true);
        connection.setAllowUserInteraction(false);
        connection.setConnectTimeout(10000);
        connection.setReadTimeout(30000);
        connection.connect();
    }

    int status = connection.getResponseCode();
}

Respose of the api:-

{
    "error": {
        "errors": [
            {
                "domain": "global",
                "reason": "authError",
                "message": "Invalid Credentials",
                "locationType": "header",
                "location": "Authorization"
            }
        ],
        "code": 401,
        "message": "Invalid Credentials"
    }
}

Apis that are not required authToken working fine like get Videos by id ,get PlayListItems,Playlists of channel etc.

最佳答案

发生此问题是由于带有“Bearer” authCode的 header 的“Authorization”参数所致,如果您使用的是goole登录authcode,则应将google登录AuthCode转换为Bearer authcode,然后将其传递给带有Authorization key的 header ,则它应该可以工作精细。

关于java - 用于获取我的视频的YouTube数据API返回authError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47673695/

相关文章:

java - 32 位 Java 无法安装在我的 x64 桌面上

java - 单例、线程和同步

java - 使用 CDI 转换器进行 JSF selectOneMenu 实体转换失败

java - 我无法暂停并继续 CountDownTimer

java - Android Activity LifeCycle,应用程序运行时运行 while 循环的方法是什么?

java - 使用 Web 服务将文件从 Flex/Flash 界面上传到 Java 服务器

具有多个类别的 Android Intent

即使使用相同的协议(protocol),Youtube "Blocked a frame with origin "http ://www. youtube.com”也无法访问具有源的帧”

objective-c - 构建搜索 youtube mobile 的 url

c# - 显示我的 YouTube channel 中的视频列表