1: /// <summary>
2: /// Defines the XML-RPC operations that are supported by the Blogger
3: /// API for clients to use to publish content to a website or blog.
4: /// </summary>
5: public interface IBloggerService { 6: /// <summary>
7: /// Deletes a post from the blog.
8: /// </summary>
9: /// <param name="appKey">
10: /// The unique identifier or passcode of the application deleting
11: /// the post. This parameter is typically ignored.
12: /// </param>
13: /// <param name="postId">
14: /// The unique identifier of the post to be deleted.
15: /// </param>
16: /// <param name="userName">
17: /// The login for a user that can delete the post.
18: /// </param>
19: /// <param name="password">The user's password.</param>
20: /// <param name="publish">This parameter is ignored.</param>
21: /// <returns>
22: /// Returns true if the post was successfully deleted.
23: /// </returns>
24: [XmlRpcMethod("blogger.deletePost", 25: Description = "Deletes a post from the blog.")]
26: bool DeletePost(string appKey, string postId, string userName,
27: string password, bool publish);
28:
29: /// <summary>
30: /// Changes the contents of the specified post.
31: /// </summary>
32: /// <remarks>
33: /// If <paramref name="publish"/> is set to true, then the post
34: /// should be published.
35: /// </remarks>
36: /// <param name="appKey">
37: /// The unique identifier or passcode of the application sending the
38: /// post. This parameter is typically ignored.
39: /// </param>
40: /// <param name="postId">
41: /// The unique identifier of the post that will be changed.
42: /// </param>
43: /// <param name="userName">
44: /// The login for a user who has permission to post to the blog.
45: /// </param>
46: /// <param name="password">
47: /// The password for the user.
48: /// </param>
49: /// <param name="content">
50: /// The contents of the post.
51: /// </param>
52: /// <param name="publish">
53: /// True if the post should be published immediately.
54: /// </param>
55: /// <returns>
56: /// Returns true if the post was successfully updated.
57: /// </returns>
58: [XmlRpcMethod("blogger.editPost", 59: Description = "Changes the contents of the specified post.")]
60: bool EditPost(string appKey, string postId, string userName,
61: string password, string content, bool publish);
62:
63: /// <summary>
64: /// Returns the text of the main or archive index template for the
65: /// specified blog.
66: /// </summary>
67: /// <param name="appKey">
68: /// The unique identifier or passcode of the application sending the
69: /// post. This parameter is typically ignored.
70: /// </param>
71: /// <param name="blogId">
72: /// The unique identifier of the blog whose template is to be returned.
73: /// </param>
74: /// <param name="userName">
75: /// The login for a user who has administrator permissions on the
76: /// specified blog.
77: /// </param>
78: /// <param name="password">
79: /// The user's password.
80: /// </param>
81: /// <param name="templateType">
82: /// <list>
83: /// <listheader>
84: /// <term>Template type</term>
85: /// <description>Description</description>
86: /// </listheader>
87: /// <item>
88: /// <term>main</term>
89: /// <description>
90: /// Returns the text for the main template of the blog.
91: /// </description>
92: /// </item>
93: /// <item>
94: /// <term>archiveIndex</term>
95: /// <description>
96: /// Returns the text for the archive index template of the blog.
97: /// </description>
98: /// </item>
99: /// </list>
100: /// </param>
101: /// <returns>
102: /// Returns the text of the specified blog template.
103: /// </returns>
104: [XmlRpcMethod("blogger.getTemplate", 105: Description = "Returns the text of the main or archive index " +
106: "template for the specified blog.")]
107: string GetTemplate(string appKey, string blogId, string userName,
108: string password, string templateType);
109:
110: /// <summary>
111: /// Returns information about the requested user.
112: /// </summary>
113: /// <param name="appKey">
114: /// The unique identifier or passcode of the application sending the
115: /// post. This parameter is typically ignored.
116: /// </param>
117: /// <param name="userName">
118: /// The login for the user whose information will be retrieved.
119: /// </param>
120: /// <param name="password">
121: /// The password for the user.
122: /// </param>
123: /// <returns>
124: /// Returns a structure containing the user's name, email address,
125: /// and website URL.
126: /// </returns>
127: [XmlRpcMethod("blogger.getUserInfo", 128: Description = "Returns information about the specified user.")]
129: User GetUserInfo(string appKey, string userName, string password);
130:
131: /// <summary>
132: /// Returns information about all of the blogs that the specified
133: /// user is a member of.
134: /// </summary>
135: /// <param name="appKey">
136: /// The unique identifier or passcode of the application sending the
137: /// post. This parameter is typically ignored.
138: /// </param>
139: /// <param name="userName">
140: /// The login for the user whose blogs will be retrieved.
141: /// </param>
142: /// <param name="password">
143: /// The password for the user.
144: /// </param>
145: /// <returns>
146: /// Returns an array of <see cref="Blog"/> objects describing the
147: /// blogs that the specified user has access to.
148: /// </returns>
149: [XmlRpcMethod("blogger.getUsersBlogs", 150: Description = "Returns information about all of the blogs that " +
151: "the user is a member of.")]
152: Blog[] GetUsersBlogs(string appKey, string userName, string password);
153:
154: /// <summary>
155: /// Makes a new post to a designated blog.
156: /// </summary>
157: /// <remarks>
158: /// If publish is set to true, then the post should
159: /// be published.
160: /// </remarks>
161: /// <param name="appKey">
162: /// The unique identifier or passcode of the application sending the
163: /// post. This parameter is typically ignored.
164: /// </param>
165: /// <param name="blogId">
166: /// The unique identifier of the blog that the post will be added to.
167: /// </param>
168: /// <param name="userName">
169: /// The login for a user who has permission to post to the blog.
170: /// </param>
171: /// <param name="password">
172: /// The password for the user.
173: /// </param>
174: /// <param name="content">
175: /// The contents of the post.
176: /// </param>
177: /// <param name="publish">
178: /// True if the post should be published immediately.
179: /// </param>
180: /// <returns>
181: /// Returns the unique identifier of the new post.
182: /// </returns>
183: [XmlRpcMethod("blogger.newPost", 184: Description = "Makes a new post to a blog.")]
185: string NewPost(string appKey, string blogId, string userName,
186: string password, string content, bool publish);
187:
188: /// <summary>
189: /// Changes the template for the specified blog.
190: /// </summary>
191: /// <param name="appKey">
192: /// The unique identifier or passcode of the application sending the
193: /// post.
194: /// </param>
195: /// <param name="blogId">
196: /// The unique identifier of the blog whose template is to be changed.
197: /// </param>
198: /// <param name="userName">
199: /// The login for a user who has administrator permissions on the
200: /// specified blog.
201: /// </param>
202: /// <param name="password">
203: /// The user's password.
204: /// </param>
205: /// <param name="templateText">
206: /// The text for the new template.
207: /// </param>
208: /// <param name="templateType">
209: /// <list>
210: /// <listheader>
211: /// <term>Template type</term>
212: /// <description>Description</description>
213: /// </listheader>
214: /// <item>
215: /// <term>main</term>
216: /// <description>
217: /// Changes the text for the main template of the blog.
218: /// </description>
219: /// </item>
220: /// <item>
221: /// <term>archiveIndex</term>
222: /// <description>
223: /// Changes the text for the archive index template of the blog.
224: /// </description>
225: /// </item>
226: /// </list>
227: /// </param>
228: /// <returns></returns>
229: [XmlRpcMethod("blogger.setTemplate", 230: Description = "Changes the template for the specified blog.")]
231: bool SetTemplate(string appKey, string blogId, string userName,
232: string password, string templateText, string templateType);
233: }