Android youtube api删除订阅无效

时间:2013-03-03 07:53:03

标签: android api youtube subscription

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'>GData invalidRequestUri无效   请求URI

docs的原始链接。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

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