0
public static boolean deleteSubscribe(String subscription_id, String authToken){
    HttpClient httpClient = new DefaultHttpClient();
    HttpPost httpPost = new HttpPost("https://gdata.youtube.com/feeds/api/users/default/subscriptions/"+subscription_id+"?v=2");
    httpPost.setHeader("DELETE", "/feeds/api/users/default/subscriptions/"+subscription_id+" HTTP/1.1"); 
    httpPost.setHeader("Host", "gdata.youtube.com"); 
    httpPost.setHeader("Authorization", "Bearer "+authToken);
    httpPost.setHeader("GData-Version", "2");
    httpPost.setHeader("X-GData-Key", "key="+DeveloperKey.DEVELOPER_KEY);
    HttpResponse httpResponse = null;
    httpPost.setHeader("Content-type","application/atom+xml");

    try {

        httpResponse = httpClient.execute(httpPost);
        BufferedReader reader = new BufferedReader(new InputStreamReader(httpResponse.getEntity().getContent(), "UTF-8"));
        String json = reader.readLine();
        System.out.println("remove:" + json);

    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    return (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_CREATED);
}

我正在使用此代码删除 Youtube API 中的订阅。我可以成功添加订阅,但删除功能时出现错误:

http://schemas.google.com/g/2005'>GDatainvalidRequestUri请求 URI 无效

文档的原始链接。

任何人都可以帮忙吗?

4

1 回答 1

1

尝试对您的开发人员密钥、authtoken 和 subscription_id 进行 urlencode。

于 2013-03-03T08:19:57.567 回答