title: Programmatically unsubscribe a YouTube user C#
body: <p>Here is my code for a mass unsubscriber i am making, currently everything works - other than the unsubscribe feature.. (Typical huh)</p>
  
  <pre><code>   public void UnSubUsers()
     {
          string feedUrl = "http://gdata.youtube.com/feeds/api/users/" + username.Text + "/subscriptions";
          YouTubeQuery query = new YouTubeQuery(feedUrl);
          subFeed = service.GetSubscriptions(query);
          YouTubeRequestSettings yts = new YouTubeRequestSettings("Unsubscriber", DEVKEY, username.Text, password.Text);
          YouTubeRequest request = new YouTubeRequest(yts);
          int i = 0;
          int x = 0;
          x = (listBox1.Items.Count);
          for (i=0;i&lt;x ;i++ )
          {
              string uname = listBox1.Items[i].ToString();
              uname=uname.Substring(42);
              uname = uname.Remove(uname.LastIndexOf("/"));
              Subscription s = new Subscription();
              s.Type = SubscriptionEntry.SubscriptionType.channel;
              s.UserName = uname;
              //MessageBox.Show(uname); //Displays the username so that we know if it is correct
              try
              {
                  s.AtomEntry.EditUri = "http://gdata.youtube.com/feeds/api/users/" + username.Text + "/subscriptions";
                  s.SubscriptionEntry.EditUri = "http://gdata.youtube.com/feeds/api/users/" + username.Text + "/subscriptions";
                  request.Delete(s);
              }
              catch (ArgumentNullException e)
              {
                  MessageBox.Show(e.ToString(), "Error");
              }
              catch (GDataRequestException e)
              {
                  MessageBox.Show(e.ToString(), "Error");
              }
          }
      }
  </code></pre>
  
  <p>(Also available at <a href="http://pastebin.com/LnKMYCJp" rel="nofollow">http://pastebin.com/LnKMYCJp</a>)</p>
  
  <p>When the code "reaches" request.Delete(s) it gives me this error:</p>
  
  <pre><code>Google.GData.Client.GDataRequestException: Execution of request failed: http://gdata.youtube.com/feeds/api/users/iWinterHD/subscriptions ---&gt;System.Net.WebException: The remote server returned an error: (400) Bad Request.
      at System.Net.HttpWebRequest.GetResponse()
      at Google.GData.Client.GDataRequest.Execute()
      --- End of inner exception stack trace ---
      at Google.GData.Client.GDataRequest.Execute()
      at Google.GData.Client.GDataGAuthRequest.Execute(Int32 retryCounter)
      at Google.GData.Client.GDataGAuthRequest.Execute()
      at Google.GData.Client.Service.Delete(Uri uriTarget, String eTag)
      at Google.GData.Client.FeedRequest1.Delete[Y](Y entry)
      at Unsubscriber.SubForm.UnSubUsers() in C:\Users\iWinterHD\documents\visual studio 2010\Projects\Unsubscriber\Unsubscriber\SubForm.cs:line 112
  </code></pre>
  
  <p>Does anybody know how to fix this, I have been trying to get this working for around 2 hours and I am still getting this error, no matter what I try</p>
  
  <p>When i used fiddler to find out info about the connection this was the header:</p>
  
  <pre><code>DELETE /feeds/api/users/iWinterHD/subscriptions HTTP/1.1
  Content-Type: application/atom+xml; charset=UTF-8
  User-Agent: G-Unsubscriber/GDataGAuthRequestFactory-CS-Version=2.1.0.0--IEnumerable
  X-GData-Key: key=DEVELOPER_KEY
  Authorization: GoogleLogin auth=DQAAAMgAAAAfAWmos6z7rpaY8JrK2RNK4Urf7Riu_putKeGgV1KFH5OEmAYA2t5w0DWXbVQJnizQiPmLSl-4D0eCozYn5jVp4DWs4Rpao3udc3eTIC9wibBGRe640m7zZjl96UnFMyf-fJDk0VrTIcAw74S7_WhwBaRDjLS77EOWfERw066NmcYO-2QB_6WZ4Y0o3Y4haVn_pRokm8ckyuTRWJf6cES1yVlZ4fP5diUySVsH7EaHLiUcAquUl7GWCMdF_JbjRVVxvgeMW1zV757JW8l841uk
  GData-Version: 2.0
  Host: gdata.youtube.com
  Connection: Keep-Alive
  </code></pre>
  
  <p>However the Google Developers example is this:</p>
  
  <pre><code>DELETE /feeds/api/users/default/subscriptions/SUBSCRIPTION_ID HTTP/1.1
  Host: gdata.youtube.com
  Content-Type: application/atom+xml
  Authorization: Bearer ACCESS_TOKEN
  GData-Version: 2
  X-GData-Key: key=DEVELOPER_KEY
  </code></pre>
  
  <p>Hopefully that gives a little heads up :)</p>