Error Posting the 50th post with GData C# library 1.0.9.3
The group you are posting to is a
Usenet group . Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
From:
"pcooley" <pcooley.newsgro... @gmail.com>
Date: Sat, 27 Jan 2007 15:45:47 -0000
Local: Sat, Jan 27 2007 10:45 am
Subject: Error Posting the 50th post with GData C# library 1.0.9.3
I've spent some time trying to narrow down this issue. I developed a little sample application using the C# client library that I believe reproduces the problem in a simple way.
Problem: On this application's 50th post, it fails. I believe this to be a server side issue?
I am using the GData C# library 1.0.9.3 to reproduce.
Can anyone else confirm this is a problem?
The relevant info is pasted below; CODE and the Trace Error.
Paul Cooley http://linuxlore.blogspot.com
CODE:
using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using Google.GData.Client; using System.Net;
namespace TestBloggerApp { /// <summary> /// Summary description for Form1. /// </summary> public class Form1 : System.Windows.Forms.Form { private System.Windows.Forms.Button button1; private System.Windows.Forms.TextBox USERNAME; private System.Windows.Forms.TextBox PASSWORD; private System.Windows.Forms.TextBox TITLE; private System.Windows.Forms.TextBox BODY; private System.Windows.Forms.TextBox DATE; private System.Windows.Forms.TextBox URL; private string texttest; private System.Windows.Forms.TextBox status; /// <summary> /// Required designer variable. /// </summary> private System.ComponentModel.Container components = null;
public Form1() { // // Required for Windows Form Designer support // InitializeComponent();
DATE.Text = DateTime.Now.ToString();
}
/// <summary> /// Clean up any resources being used. /// </summary> protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); }
#region Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.button1 = new System.Windows.Forms.Button(); this.URL = new System.Windows.Forms.TextBox(); this.USERNAME = new System.Windows.Forms.TextBox(); this.PASSWORD = new System.Windows.Forms.TextBox(); this.TITLE = new System.Windows.Forms.TextBox(); this.BODY = new System.Windows.Forms.TextBox(); this.DATE = new System.Windows.Forms.TextBox(); this.status = new System.Windows.Forms.TextBox(); this.SuspendLayout(); // // button1 // this.button1.Location = new System.Drawing.Point(64, 216); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(160, 23); this.button1.TabIndex = 0; this.button1.Text = "Publish"; this.button1.Click += new System.EventHandler(this.button1_Click); // // URL // this.URL.Location = new System.Drawing.Point(16, 16); this.URL.Name = "URL"; this.URL.Size = new System.Drawing.Size(256, 20); this.URL.TabIndex = 1; this.URL.Text = "http://insertablognamehere.blogspot.com/feeds/ posts/full"; // // USERNAME // this.USERNAME.Location = new System.Drawing.Point(16, 48); this.USERNAME.Name = "USERNAME"; this.USERNAME.Size = new System.Drawing.Size(256, 20); this.USERNAME.TabIndex = 2; this.USERNAME.Text = "username"; // // PASSWORD // this.PASSWORD.Location = new System.Drawing.Point(16, 80); this.PASSWORD.Name = "PASSWORD"; this.PASSWORD.Size = new System.Drawing.Size(256, 20); this.PASSWORD.TabIndex = 3; this.PASSWORD.Text = "Password"; // // TITLE // this.TITLE.AllowDrop = true; this.TITLE.Location = new System.Drawing.Point(16, 112); this.TITLE.Name = "TITLE"; this.TITLE.Size = new System.Drawing.Size(256, 20); this.TITLE.TabIndex = 4; this.TITLE.Text = "Title"; // // BODY // this.BODY.Location = new System.Drawing.Point(16, 144); this.BODY.Name = "BODY"; this.BODY.Size = new System.Drawing.Size(256, 20); this.BODY.TabIndex = 5; this.BODY.Text = "Body"; // // DATE // this.DATE.Location = new System.Drawing.Point(16, 176); this.DATE.Name = "DATE"; this.DATE.Size = new System.Drawing.Size(256, 20); this.DATE.TabIndex = 6; this.DATE.Text = ""; // // status // this.status.Location = new System.Drawing.Point(56, 272); this.status.Name = "status"; this.status.ReadOnly = true; this.status.Size = new System.Drawing.Size(176, 20); this.status.TabIndex = 8; this.status.Text = ""; // // Form1 // this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(292, 318); this.Controls.Add(this.status); this.Controls.Add(this.DATE); this.Controls.Add(this.BODY); this.Controls.Add(this.TITLE); this.Controls.Add(this.PASSWORD); this.Controls.Add(this.USERNAME); this.Controls.Add(this.URL); this.Controls.Add(this.button1); this.Name = "Form1"; this.Text = "Google Post Assistant"; this.ResumeLayout(false);
} #endregion
/// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() { Application.Run(new Form1()); }
private void button1_Click(object sender, System.EventArgs e) { status.Text = "starting to Post"; try { string _clientname = "Test Client"; Uri blogURI = new Uri(URL.Text); FeedQuery query = new FeedQuery(); Service service = new Service("blogger", _clientname); NetworkCredential nc = new NetworkCredential(USERNAME.Text,PASSWORD.Text); service.Credentials = nc; query.Uri = blogURI;
// Up up and away for (int i = 0; i < 100; i++) { AtomEntry newEntry = new AtomEntry(); newEntry.Title.Text = TITLE.Text +" " + i.ToString(); newEntry.Content.Content = BODY.Text + " " + i.ToString(); //newEntry.Published = newEntry.Updated = DateTime.Parse(DATE.Text); newEntry.Published = DateTime.Now; AtomEntry inserted = service.Insert(blogURI,newEntry); //System.Threading.Thread.Sleep(500); status.Text = "Posting " + i.ToString();
} status.Text = "Posting Complete"; } catch (Exception except) { MessageBox.Show(except.Message); }
} }
}
ERROR: TraceCall: Constructing AtomFeed TraceCall: parsing stream -> Start:Atom TraceCall: Initializing basenametable support TraceCall: Initializing atom nametable support TraceCall: received new item notification calling event dispatcher TraceCall: received new extension element notification calling event dispatcher TraceCall: received new extension element notification new AtomEntry found, adding to collection Found NULL service, probably mistake Found NULL service, probably mistake Found NULL service, probably mistake TraceCall: received new item notification calling event dispatcher new AtomEntry found, adding to collection TraceCall: received new item notification calling event dispatcher Parsing stream -> Done Google.GData.Client.AtomEntry ... is persistable: False Google.GData.Client.AtomTextConstruct ... is persistable: True Entering save inner XML on AtomEntry Saving Title: Title 50 Google.GData.Client.AtomTextConstruct ... is persistable: True Google.GData.Client.AtomContent ... is persistable: True TraceCall: GoogleAuth: Execution called Using auth token: [snip] TraceCall: calling the real execution over the webresponse TraceCall: GDataRequest::Execute failed: http://blogname.blogspot.com/ feeds/posts/full Got no response object
You must
Sign in before you can post messages.
You do not have the permission required to post.
From:
"Frank Mantek" <fman... @gmail.com>
Date: Mon, 29 Jan 2007 19:10:51 +0100
Local: Mon, Jan 29 2007 1:10 pm
Subject: Re: [bloggerDev] Error Posting the 50th post with GData C# library 1.0.9.3
any more details on the exception? Is there an underlying proxy that maybe is closing your connection down? I just tried inserting 100 entries, and it worked fine for me, so it's probably not a generic issue.
Frank Mantek Google
On 1/27/07, pcooley <pcooley.newsgro... @gmail.com> wrote:
> I've spent some time trying to narrow down this issue. I developed a > little sample application using the C# client library that I believe > reproduces the problem in a simple way.
> Problem: On this application's 50th post, it fails. I believe this to > be a server side issue?
> I am using the GData C# library 1.0.9.3 to reproduce.
> Can anyone else confirm this is a problem?
> The relevant info is pasted below; CODE and the Trace Error.
> Paul Cooley > http://linuxlore.blogspot.com
> CODE:
> using System; > using System.Drawing; > using System.Collections; > using System.ComponentModel; > using System.Windows.Forms; > using System.Data; > using Google.GData.Client; > using System.Net;
> namespace TestBloggerApp > { > /// <summary> > /// Summary description for Form1. > /// </summary> > public class Form1 : System.Windows.Forms.Form > { > private System.Windows.Forms.Button button1; > private System.Windows.Forms.TextBox USERNAME; > private System.Windows.Forms.TextBox PASSWORD; > private System.Windows.Forms.TextBox TITLE; > private System.Windows.Forms.TextBox BODY; > private System.Windows.Forms.TextBox DATE; > private System.Windows.Forms.TextBox URL; > private string texttest; > private System.Windows.Forms.TextBox status; > /// <summary> > /// Required designer variable. > /// </summary> > private System.ComponentModel.Container components = null;
> public Form1() > { > // > // Required for Windows Form Designer support > // > InitializeComponent();
> DATE.Text = DateTime.Now.ToString();
> }
> /// <summary> > /// Clean up any resources being used. > /// </summary> > protected override void Dispose( bool disposing ) > { > if( disposing ) > { > if (components != null) > { > components.Dispose(); > } > } > base.Dispose( disposing ); > }
> #region Windows Form Designer generated code > /// <summary> > /// Required method for Designer support - do not modify > /// the contents of this method with the code editor. > /// </summary> > private void InitializeComponent() > { > this.button1 = new System.Windows.Forms.Button(); > this.URL = new System.Windows.Forms.TextBox(); > this.USERNAME = new System.Windows.Forms.TextBox > (); > this.PASSWORD = new System.Windows.Forms.TextBox > (); > this.TITLE = new System.Windows.Forms.TextBox(); > this.BODY = new System.Windows.Forms.TextBox(); > this.DATE = new System.Windows.Forms.TextBox(); > this.status = new System.Windows.Forms.TextBox(); > this.SuspendLayout(); > // > // button1 > // > this.button1.Location = new System.Drawing.Point(64, > 216); > this.button1.Name = "button1"; > this.button1.Size = new System.Drawing.Size(160, > 23); > this.button1.TabIndex = 0; > this.button1.Text = "Publish"; > this.button1.Click += new System.EventHandler( > this.button1_Click); > // > // URL > // > this.URL.Location = new System.Drawing.Point(16, > 16); > this.URL.Name = "URL"; > this.URL.Size = new System.Drawing.Size(256, 20); > this.URL.TabIndex = 1; > this.URL.Text = " > http://insertablognamehere.blogspot.com/feeds/ > posts/full"; > // > // USERNAME > // > this.USERNAME.Location = new System.Drawing.Point(16, > 48); > this.USERNAME.Name = "USERNAME"; > this.USERNAME.Size = new System.Drawing.Size(256, > 20); > this.USERNAME.TabIndex = 2; > this.USERNAME.Text = "username"; > // > // PASSWORD > // > this.PASSWORD.Location = new System.Drawing.Point(16, > 80); > this.PASSWORD.Name = "PASSWORD"; > this.PASSWORD.Size = new System.Drawing.Size(256, > 20); > this.PASSWORD.TabIndex = 3; > this.PASSWORD.Text = "Password"; > // > // TITLE > // > this.TITLE.AllowDrop = true; > this.TITLE.Location = new System.Drawing.Point(16, > 112); > this.TITLE.Name = "TITLE"; > this.TITLE.Size = new System.Drawing.Size(256, > 20); > this.TITLE.TabIndex = 4; > this.TITLE.Text = "Title"; > // > // BODY > // > this.BODY.Location = new System.Drawing.Point(16, > 144); > this.BODY.Name = "BODY"; > this.BODY.Size = new System.Drawing.Size(256, 20); > this.BODY.TabIndex = 5; > this.BODY.Text = "Body"; > // > // DATE > // > this.DATE.Location = new System.Drawing.Point(16, > 176); > this.DATE.Name = "DATE"; > this.DATE.Size = new System.Drawing.Size(256, 20); > this.DATE.TabIndex = 6; > this.DATE.Text = ""; > // > // status > // > this.status.Location = new System.Drawing.Point(56, > 272); > this.status.Name = "status"; > this.status.ReadOnly = true; > this.status.Size = new System.Drawing.Size(176, > 20); > this.status.TabIndex = 8; > this.status.Text = ""; > // > // Form1 > // > this.AutoScaleBaseSize = new System.Drawing.Size(5, > 13); > this.ClientSize = new System.Drawing.Size(292, > 318); > this.Controls.Add(this.status); > this.Controls.Add(this.DATE); > this.Controls.Add(this.BODY); > this.Controls.Add(this.TITLE); > this.Controls.Add(this.PASSWORD); > this.Controls.Add(this.USERNAME); > this.Controls.Add(this.URL); > this.Controls.Add(this.button1); > this.Name = "Form1"; > this.Text = "Google Post Assistant"; > this.ResumeLayout(false);
> } > #endregion
> /// <summary> > /// The main entry point for the application. > /// </summary> > [STAThread] > static void Main() > { > Application.Run(new Form1()); > }
> private void button1_Click(object sender, System.EventArgse) > { > status.Text = "starting to Post"; > try > { > string _clientname = "Test Client"; > Uri blogURI = new Uri(URL.Text); > FeedQuery query = new FeedQuery(); > Service service = new Service("blogger", > _clientname); > NetworkCredential nc = new > NetworkCredential(USERNAME.Text,PASSWORD.Text); > service.Credentials = nc; > query.Uri = blogURI;
> // Up up and away > for (int i = 0; i < 100; i++) > { > AtomEntry newEntry = new > AtomEntry(); > newEntry.Title.Text = TITLE.Text+" " + > i.ToString(); > newEntry.Content.Content = > BODY.Text + " " + i.ToString(); > //newEntry.Published = > newEntry.Updated = > DateTime.Parse(DATE.Text);
...
read more »
You must
Sign in before you can post messages.
You do not have the permission required to post.
From:
"Pete Hopkins ☠" <phopk... @google.com>
Date: Mon, 29 Jan 2007 10:17:08 -0800
Local: Mon, Jan 29 2007 1:17 pm
Subject: Re: [bloggerDev] Re: Error Posting the 50th post with GData C# library 1.0.9.3
Blogger rate limits at ~50 posts per day. Any more than that, and you need to log in to the app to solve a CAPTCHA per post. -- Pete
On 1/29/07, Frank Mantek <fman... @gmail.com> wrote:
> any more details on the exception? Is there an underlying proxy that maybe
> is closing your connection down?
> I just tried inserting 100 entries, and it worked fine for me, so it's > probably not a generic issue.
> Frank Mantek > Google
> On 1/27/07, pcooley <pcooley.newsgro... @gmail.com> wrote:
> > I've spent some time trying to narrow down this issue. I developed a > > little sample application using the C# client library that I believe > > reproduces the problem in a simple way.
> > Problem: On this application's 50th post, it fails. I believe this to > > be a server side issue?
> > I am using the GData C# library 1.0.9.3 to reproduce.
> > Can anyone else confirm this is a problem?
> > The relevant info is pasted below; CODE and the Trace Error.
> > Paul Cooley > > http://linuxlore.blogspot.com
> > CODE:
> > using System; > > using System.Drawing; > > using System.Collections; > > using System.ComponentModel; > > using System.Windows.Forms; > > using System.Data; > > using Google.GData.Client; > > using System.Net;
> > namespace TestBloggerApp > > { > > /// <summary> > > /// Summary description for Form1. > > /// </summary> > > public class Form1 : System.Windows.Forms.Form > > { > > private System.Windows.Forms.Button button1; > > private System.Windows.Forms.TextBox USERNAME; > > private System.Windows.Forms.TextBox PASSWORD; > > private System.Windows.Forms.TextBox TITLE; > > private System.Windows.Forms.TextBox BODY; > > private System.Windows.Forms.TextBox DATE; > > private System.Windows.Forms.TextBox URL; > > private string texttest; > > private System.Windows.Forms.TextBox status; > > /// <summary> > > /// Required designer variable. > > /// </summary> > > private System.ComponentModel.Container components = null;
> > public Form1() > > { > > // > > // Required for Windows Form Designer support > > // > > InitializeComponent();
> > DATE.Text = DateTime.Now.ToString();
> > }
> > /// <summary> > > /// Clean up any resources being used. > > /// </summary> > > protected override void Dispose( bool disposing ) > > { > > if( disposing ) > > { > > if (components != null) > > {
> components.Dispose(); > > } > > } > > base.Dispose( disposing ); > > }
> > #region Windows Form Designer generated code > > /// <summary> > > /// Required method for Designer support - do not modify > > /// the contents of this method with the code editor. > > /// </summary> > > private void InitializeComponent() > > { > > this.button1 = new System.Windows.Forms.Button(); > > this.URL = new System.Windows.Forms.TextBox(); > > this.USERNAME = new > System.Windows.Forms.TextBox(); > > this.PASSWORD = new > System.Windows.Forms.TextBox(); > > this.TITLE = new System.Windows.Forms.TextBox(); > > this.BODY = new System.Windows.Forms.TextBox(); > > this.DATE = new System.Windows.Forms.TextBox(); > > this.status = new System.Windows.Forms.TextBox(); > > this.SuspendLayout(); > > // > > // button1 > > // > > this.button1.Location = new > System.Drawing.Point(64, 216); > > this.button1.Name = "button1"; > > this.button1.Size = new System.Drawing.Size (160, > 23); > > this.button1.TabIndex = 0; > > this.button1.Text = "Publish"; > > this.button1.Click += new > System.EventHandler(this.button1_Click ); > > // > > // URL > > // > > this.URL.Location = new System.Drawing.Point(16, > 16); > > this.URL.Name = "URL"; > > this.URL.Size = new System.Drawing.Size(256, 20); > > this.URL.TabIndex = 1; > > this.URL.Text = " > http://insertablognamehere.blogspot.com/feeds/ > > posts/full"; > > // > > // USERNAME > > // > > this.USERNAME.Location = new > System.Drawing.Point(16, 48); > > this.USERNAME.Name = "USERNAME"; > > this.USERNAME.Size = new System.Drawing.Size(256, > 20); > > this.USERNAME.TabIndex = 2; > > this.USERNAME.Text = "username"; > > // > > // PASSWORD > > // > > this.PASSWORD.Location = new > System.Drawing.Point(16, 80); > > this.PASSWORD.Name = "PASSWORD"; > > this.PASSWORD.Size = new System.Drawing.Size(256, > 20); > > this.PASSWORD.TabIndex = 3; > > this.PASSWORD.Text = "Password"; > > // > > // TITLE > > // > > this.TITLE.AllowDrop = true; > > this.TITLE.Location = new System.Drawing.Point(16, > 112); > > this.TITLE.Name = "TITLE"; > > this.TITLE.Size = new System.Drawing.Size(256, > 20); > > this.TITLE.TabIndex = 4; > > this.TITLE.Text = "Title"; > > // > > // BODY > > // > > this.BODY.Location = new System.Drawing.Point(16, > 144); > > this.BODY.Name = "BODY"; > > this.BODY.Size = new System.Drawing.Size(256, 20); > > this.BODY.TabIndex = 5; > > this.BODY.Text = "Body"; > > // > > // DATE > > // > > this.DATE.Location = new System.Drawing.Point(16, > 176); > > this.DATE.Name = "DATE"; > > this.DATE.Size = new System.Drawing.Size(256, 20); > > this.DATE.TabIndex = 6; > > this.DATE.Text = ""; > > // > > // status > > // > > this.status.Location = new > System.Drawing.Point(56, 272); > > this.status.Name = "status"; > > this.status.ReadOnly = true; > > this.status.Size = new System.Drawing.Size(176, > 20); > > this.status.TabIndex = 8; > > this.status.Text = ""; > > // > > // Form1 > > // > > this.AutoScaleBaseSize = new System.Drawing.Size > (5, 13); > > this.ClientSize = new System.Drawing.Size(292, > 318); > > this.Controls.Add(this.status); > > this.Controls.Add(this.DATE); > > this.Controls.Add(this.BODY); > > this.Controls.Add(this.TITLE); > > this.Controls.Add(this.PASSWORD); > > this.Controls.Add(this.USERNAME); > > this.Controls.Add(this.URL); > > this.Controls.Add(this.button1); > > this.Name = "Form1"; > > this.Text = "Google Post Assistant"; > > this.ResumeLayout(false);
> > } > > #endregion
> > /// <summary> > > /// The main entry point for the application. > > /// </summary> > > [STAThread] > > static void Main() > > { > > Application.Run(new Form1()); > > }
> > private void button1_Click(object sender, System.EventArgs > e) > > { > > status.Text = "starting to Post"; > > try > > { > > string _clientname = > "Test Client"; > > Uri blogURI = new > Uri(URL.Text); > > FeedQuery query = new > FeedQuery(); > > Service service = new > Service("blogger", _clientname); > > NetworkCredential nc = > new > > NetworkCredential(USERNAME.Text,PASSWORD.Text); > > service.Credentials = nc;
...
read more »
You must
Sign in before you can post messages.
You do not have the permission required to post.
From:
"pcooley" <pcooley.newsgro... @gmail.com>
Date: Mon, 29 Jan 2007 19:26:50 -0000
Local: Mon, Jan 29 2007 2:26 pm
Subject: Re: Error Posting the 50th post with GData C# library 1.0.9.3
That explains the behavior. Thanks. That said, how would or should a tool designed to migrate a blog from one of your competitors into blogger work? Is there something we can do to assist these users? I realize this is a balancing act between legitimate users and people attempting to spam the system.
For instance I built this tool lj2blogger that imports a LiveJournal blog into Blogger: http://linuxlore.blogspot.com/2006/12/livejournal- to-blogger.html, it seems like an inconvenience to ask the users to migrate only 50 of their entries a day?
Thank-you, Paul Cooley
On Jan 29, 10:17 am, "Pete Hopkins ☠" <phopk... @google.com> wrote:
> Blogger rate limits at ~50 postsperday. Any more than that, and you
> need to log in to the app to solve aCAPTCHAperpost.
> -- Pete
> On 1/29/07, Frank Mantek <fman... @gmail.com> wrote:
> > any more details on the exception? Is there an underlying proxy that maybe > > is closing your connection down?
> > I just tried inserting 100 entries, and it worked fine for me, so it's > > probably not a generic issue.
> > Frank Mantek > > Google
> > On 1/27/07, pcooley <pcooley.newsgro... @gmail.com> wrote:
> > > I've spent some time trying to narrow down this issue. I developed a > > > little sample application using the C# client library that I believe > > > reproduces the problem in a simple way.
> > > Problem: On this application's 50thpost, it fails. I believe this to > > > be a server side issue?
> > > I am using the GData C# library 1.0.9.3 to reproduce.
> > > Can anyone else confirm this is a problem?
> > > The relevant info is pasted below; CODE and the Trace Error.
> > > Paul Cooley > > >http://linuxlore.blogspot.com
> > > CODE:
> > > using System; > > > using System.Drawing; > > > using System.Collections; > > > using System.ComponentModel; > > > using System.Windows.Forms; > > > using System.Data; > > > using Google.GData.Client; > > > using System.Net;
> > > namespace TestBloggerApp > > > { > > > /// <summary> > > > /// Summary description for Form1. > > > /// </summary> > > > public class Form1 : System.Windows.Forms.Form > > > { > > > private System.Windows.Forms.Button button1; > > > private System.Windows.Forms.TextBox USERNAME; > > > private System.Windows.Forms.TextBox PASSWORD; > > > private System.Windows.Forms.TextBox TITLE; > > > private System.Windows.Forms.TextBox BODY; > > > private System.Windows.Forms.TextBox DATE; > > > private System.Windows.Forms.TextBox URL; > > > private string texttest; > > > private System.Windows.Forms.TextBox status; > > > /// <summary> > > > /// Required designer variable. > > > /// </summary> > > > private System.ComponentModel.Container components = null;
> > > public Form1() > > > { > > > // > > > // Required for Windows Form Designer support > > > // > > > InitializeComponent();
> > > DATE.Text = DateTime.Now.ToString();
> > > }
> > > /// <summary> > > > /// Clean up any resources being used. > > > /// </summary> > > > protected override void Dispose( bool disposing ) > > > { > > > if( disposing ) > > > { > > > if (components != null) > > > {
> > components.Dispose(); > > > } > > > } > > > base.Dispose( disposing ); > > > }
> > > #region Windows Form Designer generated code > > > /// <summary> > > > /// Required method for Designer support - do not modify > > > /// the contents of this method with the code editor. > > > /// </summary> > > > private void InitializeComponent() > > > { > > > this.button1 = new System.Windows.Forms.Button(); > > > this.URL = new System.Windows.Forms.TextBox(); > > > this.USERNAME = new > > System.Windows.Forms.TextBox(); > > > this.PASSWORD = new > > System.Windows.Forms.TextBox(); > > > this.TITLE = new System.Windows.Forms.TextBox(); > > > this.BODY = new System.Windows.Forms.TextBox(); > > > this.DATE = new System.Windows.Forms.TextBox(); > > > this.status = new System.Windows.Forms.TextBox(); > > > this.SuspendLayout(); > > > // > > > // button1 > > > // > > > this.button1.Location = new > > System.Drawing.Point(64, 216); > > > this.button1.Name = "button1"; > > > this.button1.Size = new System.Drawing.Size (160, > > 23); > > > this.button1.TabIndex = 0; > > > this.button1.Text = "Publish"; > > > this.button1.Click += new > > System.EventHandler(this.button1_Click ); > > > // > > > // URL > > > // > > > this.URL.Location = new System.Drawing.Point(16, > > 16); > > > this.URL.Name = "URL"; > > > this.URL.Size = new System.Drawing.Size(256, 20); > > > this.URL.TabIndex = 1; > > > this.URL.Text = " > >http://insertablognamehere.blogspot.com/feeds/ > > > posts/full"; > > > // > > > // USERNAME > > > // > > > this.USERNAME.Location = new > > System.Drawing.Point(16, 48); > > > this.USERNAME.Name = "USERNAME"; > > > this.USERNAME.Size = new System.Drawing.Size(256, > > 20); > > > this.USERNAME.TabIndex = 2; > > > this.USERNAME.Text = "username"; > > > // > > > // PASSWORD > > > // > > > this.PASSWORD.Location = new > > System.Drawing.Point(16, 80); > > > this.PASSWORD.Name = "PASSWORD"; > > > this.PASSWORD.Size = new System.Drawing.Size(256, > > 20); > > > this.PASSWORD.TabIndex = 3; > > > this.PASSWORD.Text = "Password"; > > > // > > > // TITLE > > > // > > > this.TITLE.AllowDrop = true; > > > this.TITLE.Location = new System.Drawing.Point(16, > > 112); > > > this.TITLE.Name = "TITLE"; > > > this.TITLE.Size = new System.Drawing.Size(256, > > 20); > > > this.TITLE.TabIndex = 4; > > > this.TITLE.Text = "Title"; > > > // > > > // BODY > > > // > > > this.BODY.Location = new System.Drawing.Point(16, > > 144); > > > this.BODY.Name = "BODY"; > > > this.BODY.Size = new System.Drawing.Size(256, 20); > > > this.BODY.TabIndex = 5; > > > this.BODY.Text = "Body"; > > > // > > > // DATE > > > // > > > this.DATE.Location = new System.Drawing.Point(16, > > 176); > > > this.DATE.Name = "DATE"; > > > this.DATE.Size = new System.Drawing.Size(256, 20); > > > this.DATE.TabIndex = 6; > > > this.DATE.Text = ""; > > > // > > > // status > > > // > > > this.status.Location = new > > System.Drawing.Point(56, 272); > > > this.status.Name = "status"; > > > this.status.ReadOnly = true; > > > this.status.Size = new System.Drawing.Size(176, > > 20); > > > this.status.TabIndex = 8; > > > this.status.Text = ""; > > > // > > > // Form1 > > > // > > > this.AutoScaleBaseSize = new System.Drawing.Size > > (5, 13); > > > this.ClientSize = new System.Drawing.Size(292, > > 318); > > > this.Controls.Add(this.status); > > > this.Controls.Add(this.DATE); > > > this.Controls.Add(this.BODY); > > > this.Controls.Add(this.TITLE); > > > this.Controls.Add(this.PASSWORD); > > > this.Controls.Add(this.USERNAME); > > > this.Controls.Add(this.URL); > > > this.Controls.Add(this.button1); > > > this.Name = "Form1"; > > > this.Text = "GooglePostAssistant"; > > > this.ResumeLayout(false);
> > > } > > > #endregion
> > > /// <summary> > > > /// The main entry
...
read more »
You must
Sign in before you can post messages.
You do not have the permission required to post.
From:
"Pete Hopkins ☠" <phopk... @google.com>
Date: Mon, 29 Jan 2007 13:02:11 -0800
Local: Mon, Jan 29 2007 4:02 pm
Subject: Re: [bloggerDev] Re: Error Posting the 50th post with GData C# library 1.0.9.3
On 1/29/07, pcooley <pcooley.newsgro... @gmail.com> wrote:
> That explains the behavior. Thanks.
> That said, how would or should a tool designed to migrate a blog from > one of your competitors into blogger work? Is there something we can > do to assist these users? I realize this is a balancing act between > legitimate users and people attempting to spam the system.
> For instance I built this tool lj2blogger that imports a LiveJournal > blog into Blogger: http://linuxlore.blogspot.com/2006/12/livejournal- > to-blogger.html, it seems like an inconvenience to ask the users to > migrate only 50 of their entries a day?
Yeah, I understand that this sucks for users wanting to do imports of anything larger than a small blog. Obviously, we're thrilled when folks want to move from another blogging platform to Blogger. All I can say is that this is a problem we're aware of, and we'll try to come up with a solution that lets people import their blogs while at the same time avoiding / mitigating the potential abuse of the system by spammers, etc.
-- Pete
> On Jan 29, 10:17 am, "Pete Hopkins ☠" <phopk
... @google.com> wrote:
> > Blogger rate limits at ~50 postsperday. Any more than that, and you
> > need to log in to the app to solve aCAPTCHAperpost.
> > -- Pete
> > On 1/29/07, Frank Mantek <fman... @gmail.com> wrote:
> > > any more details on the exception? Is there an underlying proxy that maybe > > > is closing your connection down?
> > > I just tried inserting 100 entries, and it worked fine for me, so it's > > > probably not a generic issue.
> > > Frank Mantek > > > Google
> > > On 1/27/07, pcooley <pcooley.newsgro... @gmail.com> wrote:
> > > > I've spent some time trying to narrow down this issue. I developed a > > > > little sample application using the C# client library that I believe > > > > reproduces the problem in a simple way.
> > > > Problem: On this application's 50thpost, it fails. I believe this to > > > > be a server side issue?
> > > > I am using the GData C# library 1.0.9.3 to reproduce.
> > > > Can anyone else confirm this is a problem?
> > > > The relevant info is pasted below; CODE and the Trace Error.
> > > > Paul Cooley > > > >http://linuxlore.blogspot.com
> > > > CODE:
> > > > using System; > > > > using System.Drawing; > > > > using System.Collections; > > > > using System.ComponentModel; > > > > using System.Windows.Forms; > > > > using System.Data; > > > > using Google.GData.Client; > > > > using System.Net;
> > > > namespace TestBloggerApp > > > > { > > > > /// <summary> > > > > /// Summary description for Form1. > > > > /// </summary> > > > > public class Form1 : System.Windows.Forms.Form > > > > { > > > > private System.Windows.Forms.Button button1; > > > > private System.Windows.Forms.TextBox USERNAME; > > > > private System.Windows.Forms.TextBox PASSWORD; > > > > private System.Windows.Forms.TextBox TITLE; > > > > private System.Windows.Forms.TextBox BODY; > > > > private System.Windows.Forms.TextBox DATE; > > > > private System.Windows.Forms.TextBox URL; > > > > private string texttest; > > > > private System.Windows.Forms.TextBox status; > > > > /// <summary> > > > > /// Required designer variable. > > > > /// </summary> > > > > private System.ComponentModel.Container components = null;
> > > > public Form1() > > > > { > > > > // > > > > // Required for Windows Form Designer support > > > > // > > > > InitializeComponent();
> > > > DATE.Text = DateTime.Now.ToString();
> > > > }
> > > > /// <summary> > > > > /// Clean up any resources being used. > > > > /// </summary> > > > > protected override void Dispose( bool disposing ) > > > > { > > > > if( disposing ) > > > > { > > > > if (components != null) > > > > {
> > > components.Dispose(); > > > > } > > > > } > > > > base.Dispose( disposing ); > > > > }
> > > > #region Windows Form Designer generated code > > > > /// <summary> > > > > /// Required method for Designer support - do not modify > > > > /// the contents of this method with the code editor. > > > > /// </summary> > > > > private void InitializeComponent() > > > > { > > > > this.button1 = new System.Windows.Forms.Button(); > > > > this.URL = new System.Windows.Forms.TextBox(); > > > > this.USERNAME = new > > > System.Windows.Forms.TextBox(); > > > > this.PASSWORD = new > > > System.Windows.Forms.TextBox(); > > > > this.TITLE = new System.Windows.Forms.TextBox(); > > > > this.BODY = new System.Windows.Forms.TextBox(); > > > > this.DATE = new System.Windows.Forms.TextBox(); > > > > this.status = new System.Windows.Forms.TextBox(); > > > > this.SuspendLayout(); > > > > // > > > > // button1 > > > > // > > > > this.button1.Location = new > > > System.Drawing.Point(64, 216); > > > > this.button1.Name = "button1"; > > > > this.button1.Size = new System.Drawing.Size (160, > > > 23); > > > > this.button1.TabIndex = 0; > > > > this.button1.Text = "Publish"; > > > > this.button1.Click += new > > > System.EventHandler(this.button1_Click ); > > > > // > > > > // URL > > > > // > > > > this.URL.Location = new System.Drawing.Point(16, > > > 16); > > > > this.URL.Name = "URL"; > > > > this.URL.Size = new System.Drawing.Size(256, 20); > > > > this.URL.TabIndex = 1; > > > > this.URL.Text = " > > >http://insertablognamehere.blogspot.com/feeds/ > > > > posts/full"; > > > > // > > > > // USERNAME > > > > // > > > > this.USERNAME.Location = new > > > System.Drawing.Point(16, 48); > > > > this.USERNAME.Name = "USERNAME"; > > > > this.USERNAME.Size = new System.Drawing.Size(256, > > > 20); > > > > this.USERNAME.TabIndex = 2; > > > > this.USERNAME.Text = "username"; > > > > // > > > > // PASSWORD > > > > // > > > > this.PASSWORD.Location = new > > > System.Drawing.Point(16, 80); > > > > this.PASSWORD.Name = "PASSWORD"; > > > > this.PASSWORD.Size = new System.Drawing.Size(256, > > > 20); > > > > this.PASSWORD.TabIndex = 3; > > > > this.PASSWORD.Text = "Password"; > > > > // > > > > // TITLE > > > > // > > > > this.TITLE.AllowDrop = true; > > > > this.TITLE.Location = new System.Drawing.Point(16, > > > 112); > > > > this.TITLE.Name = "TITLE"; > > > > this.TITLE.Size = new System.Drawing.Size(256, > > > 20); > > > > this.TITLE.TabIndex = 4; > > > > this.TITLE.Text = "Title"; > > > > // > > > > // BODY > > > > // > > > > this.BODY.Location = new System.Drawing.Point(16, > > > 144); > > > > this.BODY.Name = "BODY"; > > > > this.BODY.Size = new System.Drawing.Size(256, 20); > > > > this.BODY.TabIndex = 5; > > > > this.BODY.Text = "Body"; > > > > // > > > > // DATE > > > > // > > > > this.DATE.Location = new System.Drawing.Point(16, > > > 176); > > > > this.DATE.Name = "DATE"; > > > > this.DATE.Size = new System.Drawing.Size(256, 20); > > > > this.DATE.TabIndex = 6; > > > > this.DATE.Text = ""; > > > > // > > > > // status > > > > // > > > > this.status.Location = new > > > System.Drawing.Point(56, 272); > > > > this.status.Name = "status"; > > > > this.status.ReadOnly = true; > > > > this.status.Size = new System.Drawing.Size(176, > > > 20); > > > > this.status.TabIndex = 8; > > > > this.status.Text = ""; > > > > // > > > > // Form1 > > > > // > > > > this.AutoScaleBaseSize = new System.Drawing.Size > > > (5, 13);
...
read more »
You must
Sign in before you can post messages.
You do not have the permission required to post.
From:
"pcooley" <pcooley.newsgro... @gmail.com>
Date: Tue, 30 Jan 2007 05:05:39 -0000
Local: Tues, Jan 30 2007 12:05 am
Subject: Re: Error Posting the 50th post with GData C# library 1.0.9.3
I've been thinking about how to solve this problem this afternoon. I am not coming up with something ingenuous quickly. Would an interchange of a CAPTCHA challenge and response every 50 entries for the API provide a solution? It is still cumbersome, but I imagine Blogger is getting their fair share of trouble makers. Paul Cooley
P.S. the lj2blogger link above got broken with a line feed lets try a HTML link instead. <a href="http://linuxlore.blogspot.com/2006/12/ livejournal-to-blogger.html"> LJ2Blogger </a>
On Jan 29, 1:02 pm, "Pete Hopkins ☠" <phopk... @google.com> wrote:
> On 1/29/07, pcooley <pcooley.newsgro
... @gmail.com> wrote:
> All I can say is that this is a problem we're aware of, and we'll try > to come up with a solution that lets people import their blogs while > at the same time avoiding / mitigating the potential abuse of the > system by spammers, etc.
> -- Pete
You must
Sign in before you can post messages.
You do not have the permission required to post.