Quantcast
Channel: Active questions tagged youtube-api - Stack Overflow
Viewing all articles
Browse latest Browse all 3831

Programmatically unsubscribe a YouTube user C#

$
0
0

Here is my code for a mass unsubscriber I am making; currently everything works - other than the unsubscribe feature.. (Typical huh)

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<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");        }    }}

(Also available at http://pastebin.com/LnKMYCJp)

When the code "reaches" request.Delete(s) it gives me this error:

Google.GData.Client.GDataRequestException: Execution of request failed: http://gdata.youtube.com/feeds/api/users/iWinterHD/subscriptions --->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

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

When i used fiddler to find out info about the connection this was the header:

DELETE /feeds/api/users/iWinterHD/subscriptions HTTP/1.1Content-Type: application/atom+xml; charset=UTF-8User-Agent: G-Unsubscriber/GDataGAuthRequestFactory-CS-Version=2.1.0.0--IEnumerableX-GData-Key: key=DEVELOPER_KEYAuthorization: GoogleLogin auth=DQAAAMgAAAAfAWmos6z7rpaY8JrK2RNK4Urf7Riu_putKeGgV1KFH5OEmAYA2t5w0DWXbVQJnizQiPmLSl-4D0eCozYn5jVp4DWs4Rpao3udc3eTIC9wibBGRe640m7zZjl96UnFMyf-fJDk0VrTIcAw74S7_WhwBaRDjLS77EOWfERw066NmcYO-2QB_6WZ4Y0o3Y4haVn_pRokm8ckyuTRWJf6cES1yVlZ4fP5diUySVsH7EaHLiUcAquUl7GWCMdF_JbjRVVxvgeMW1zV757JW8l841ukGData-Version: 2.0Host: gdata.youtube.comConnection: Keep-Alive

However the Google Developers example is this:

DELETE /feeds/api/users/default/subscriptions/SUBSCRIPTION_ID HTTP/1.1Host: gdata.youtube.comContent-Type: application/atom+xmlAuthorization: Bearer ACCESS_TOKENGData-Version: 2X-GData-Key: key=DEVELOPER_KEY

Hopefully that gives a little heads up :)


Viewing all articles
Browse latest Browse all 3831

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>