PageRenderTime 46ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/twitter4j-core/src/main/java/twitter4j/api/UsersResources.java

http://github.com/yusuke/twitter4j
Java | 435 lines | 40 code | 37 blank | 358 comment | 0 complexity | d59f97fcfef3139887ca5c72a685d26e MD5 | raw file
Possible License(s): Apache-2.0
  1. /*
  2. * Copyright 2007 Yusuke Yamamoto
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. package twitter4j.api;
  17. import twitter4j.*;
  18. import java.io.File;
  19. import java.io.InputStream;
  20. /**
  21. * @author Joern Huxhorn - jhuxhorn at googlemail.com
  22. */
  23. public interface UsersResources {
  24. /**
  25. * Returns the current trend, geo, language, timezone and sleep time information for the authenticating user.
  26. * <br>This method has not been finalized and the interface is subject to change in incompatible ways.
  27. * <br>This method calls https://api.twitter.com/1.1/account/settings.json
  28. *
  29. * @return the current trend, geo and sleep time information for the authenticating user.
  30. * @throws TwitterException when Twitter service or network is unavailable
  31. * @see <a href="https://dev.twitter.com/docs/api/1.1/get/account/settings">GET account/settings | Twitter Developers</a>
  32. * @since Twitter4J 2.1.9
  33. */
  34. AccountSettings getAccountSettings() throws TwitterException;
  35. /**
  36. * Returns an HTTP 200 OK response code and a representation of the requesting user if authentication was successful; returns a 401 status code and an error message if not. Use this method to test if supplied user credentials are valid.
  37. * <br>This method calls https://api.twitter.com/1.1/account/verify_credentials.json
  38. *
  39. * @return user
  40. * @throws twitter4j.TwitterException when Twitter service or network is unavailable, or if supplied credential is wrong (TwitterException.getStatusCode() == 401)
  41. * @see <a href="https://dev.twitter.com/docs/api/1.1/get/account/verify_credentials">GET account/verify_credentials | Twitter Developers</a>
  42. * @since Twitter4J 2.0.0
  43. */
  44. User verifyCredentials() throws TwitterException;
  45. /**
  46. * Updates the current trend, geo, language, timezone and sleep time information for the authenticating user.
  47. * <br>This method has not been finalized and the interface is subject to change in incompatible ways.
  48. * <br>This method calls https://api.twitter.com/1.1/account/settings.json
  49. *
  50. * @param trendLocationWoeid Optional. The Yahoo! Where On Earth ID to use as the user's default trend location.
  51. * @param sleepTimeEnabled Optional. Whether sleep time is enabled for the user
  52. * @param startSleepTime Optional. The hour that sleep time should begin if it is enabled.
  53. * @param endSleepTime Optional. The hour that sleep time should end if it is enabled.
  54. * @param timeZone Optional. The timezone dates and times should be displayed in for the user.
  55. * @param lang Optional. The language which Twitter should render in for this user. (two letter ISO 639-1)
  56. * @return the current trend, geo and sleep time information for the authenticating user.
  57. * @throws TwitterException when Twitter service or network is unavailable
  58. * @see <a href="https://dev.twitter.com/docs/api/1.1/post/account/settings">POST account/settings | Twitter Developers</a>
  59. * @since Twitter4J 2.2.4
  60. */
  61. AccountSettings updateAccountSettings(Integer trendLocationWoeid, Boolean sleepTimeEnabled, String startSleepTime, String endSleepTime, String timeZone, String lang) throws TwitterException;
  62. /**
  63. * Updates the allowDmsFrom settings for the authenticating user.
  64. * <br>This method has not been finalized and the interface is subject to change in incompatible ways.
  65. * <br>This method calls https://api.twitter.com/1.1/account/settings.json
  66. * <br>This method requires whitelisting from Twitter: https://twittercommunity.com/t/api-updates-for-direct-messages-rules/36061
  67. *
  68. * @param allowDmsFrom Optional. "all" for anyone, "followers" for friends only
  69. * @return the current trend, geo and sleep time information for the authenticating user.
  70. * @throws TwitterException when Twitter service or network is unavailable
  71. * @since Twitter4J 4.0.7
  72. */
  73. AccountSettings updateAllowDmsFrom(String allowDmsFrom) throws TwitterException;
  74. // update delivery device
  75. /**
  76. * Sets values that users are able to set under the "Account" tab of their settings page. Only the parameters specified(non-null) will be updated.
  77. * <br>This method calls https://api.twitter.com/1.1/account/update_profile.json
  78. *
  79. * @param name Optional. Maximum of 20 characters.
  80. * @param url Optional. Maximum of 100 characters. Will be prepended with "http://" if not present.
  81. * @param location Optional. Maximum of 30 characters. The contents are not normalized or geocoded in any way.
  82. * @param description Optional. Maximum of 160 characters.
  83. * @return the updated user
  84. * @throws TwitterException when Twitter service or network is unavailable
  85. * @see <a href="https://dev.twitter.com/docs/api/1.1/post/account/update_profile">POST account/update_profile | Twitter Developers</a>
  86. * @since Twitter4J 2.1.8
  87. */
  88. User updateProfile(String name, String url, String location, String description)
  89. throws TwitterException;
  90. /**
  91. * Updates the authenticating user's profile image.
  92. * <br>This method calls https://api.twitter.com/1.1/account/update_profile_image.json
  93. *
  94. * @param image Must be a valid GIF, JPG, or PNG image of less than 700 kilobytes in size. Images with width larger than 500 pixels will be scaled down.
  95. * @return the updated user
  96. * @throws TwitterException when Twitter service or network is unavailable,
  97. * or when the specified file is not found (FileNotFoundException will be nested),
  98. * or when the specified file object in not representing a file (IOException will be nested)
  99. * @see <a href="https://dev.twitter.com/docs/api/1.1/post/account/update_profile_image">POST account/update_profile_image | Twitter Developers</a>
  100. * @since Twitter4J 2.1.0
  101. */
  102. User updateProfileImage(File image) throws TwitterException;
  103. /**
  104. * Updates the authenticating user's profile image.
  105. * <br>This method calls https://api.twitter.com/1.1/account/update_profile_image.json
  106. *
  107. * @param image Must be a valid GIF, JPG, or PNG image of less than 700 kilobytes in size. Images with width larger than 500 pixels will be scaled down.
  108. * @return the updated user
  109. * @throws TwitterException when Twitter service or network is unavailable,
  110. * or when the specified file is not found (FileNotFoundException will be nested),
  111. * or when the specified file object in not representing a file (IOException will be nested)
  112. * @see <a href="https://dev.twitter.com/docs/api/1.1/post/account/update_profile_image">POST account/update_profile_image | Twitter Developers</a>
  113. * @since Twitter4J 2.1.11
  114. */
  115. User updateProfileImage(InputStream image) throws TwitterException;
  116. /**
  117. * Returns a list of user objects that the authenticating user is blocking.
  118. * <br>This method calls https://api.twitter.com/1.1/blocks/blocking.json
  119. *
  120. * @return a list of user objects that the authenticating user
  121. * @throws TwitterException when Twitter service or network is unavailable
  122. * @see <a href="https://dev.twitter.com/docs/api/1.1/get/blocks/blocking">GET blocks/blocking | Twitter Developers</a>
  123. * @since Twitter4J 2.0.4
  124. */
  125. PagableResponseList<User> getBlocksList() throws TwitterException;
  126. /**
  127. * Returns a list of user objects that the authenticating user is blocking.
  128. * <br>This method calls https://api.twitter.com/1.1/blocks/blocking.json
  129. *
  130. * @param cursor Causes the list of blocked users to be broken into pages of no more than 5000 IDs at a time. The number of IDs returned is not guaranteed to be 5000 as suspended users are filtered out after connections are queried. If no cursor is provided, a value of -1 will be assumed, which is the first "page."
  131. * @return a list of user objects that the authenticating user
  132. * @throws TwitterException when Twitter service or network is unavailable
  133. * @see <a href="https://dev.twitter.com/docs/api/1.1/get/blocks/blocking">GET blocks/blocking | Twitter Developers</a>
  134. * @since Twitter4J 2.0.4
  135. */
  136. PagableResponseList<User> getBlocksList(long cursor) throws TwitterException;
  137. /**
  138. * Returns an array of numeric user ids the authenticating user is blocking.
  139. * <br>This method calls https://api.twitter.com/1.1/blocks/ids
  140. *
  141. * @return Returns an array of numeric user ids the authenticating user is blocking.
  142. * @throws TwitterException when Twitter service or network is unavailable
  143. * @see <a href="https://dev.twitter.com/docs/api/1.1/get/blocks/ids">GET blocks/ids | Twitter Developers</a>
  144. * @since Twitter4J 2.0.4
  145. */
  146. IDs getBlocksIDs() throws TwitterException;
  147. /**
  148. * Returns an array of numeric user ids the authenticating user is blocking.
  149. * <br>This method calls https://api.twitter.com/1.1/blocks/ids
  150. *
  151. * @param cursor cursor
  152. * @return Returns an array of numeric user ids the authenticating user is blocking.
  153. * @throws TwitterException when Twitter service or network is unavailable
  154. * @see <a href="https://dev.twitter.com/docs/api/1.1/get/blocks/ids">GET blocks/ids | Twitter Developers</a>
  155. * @since Twitter4J 3.0.2
  156. */
  157. IDs getBlocksIDs(long cursor) throws TwitterException;
  158. /**
  159. * Blocks the user specified in the ID parameter as the authenticating user. Returns the blocked user in the requested format when successful.
  160. * <br>This method calls https://api.twitter.com/1.1/blocks/create/[id].json
  161. *
  162. * @param userId the ID of the user to block
  163. * @return the blocked user
  164. * @throws TwitterException when Twitter service or network is unavailable
  165. * @see <a href="https://dev.twitter.com/docs/api/1.1/post/blocks/create">POST blocks/create | Twitter Developers</a>
  166. * @since Twitter4J 2.1.0
  167. */
  168. User createBlock(long userId) throws TwitterException;
  169. /**
  170. * Blocks the user specified in the ID parameter as the authenticating user. Returns the blocked user in the requested format when successful.
  171. * <br>This method calls https://api.twitter.com/1.1/blocks/create/[id].json
  172. *
  173. * @param screenName the screen_name of the user to block
  174. * @return the blocked user
  175. * @throws TwitterException when Twitter service or network is unavailable
  176. * @see <a href="https://dev.twitter.com/docs/api/1.1/post/blocks/create">POST blocks/create | Twitter Developers</a>
  177. * @since Twitter4J 2.0.1
  178. */
  179. User createBlock(String screenName) throws TwitterException;
  180. /**
  181. * Un-blocks the user specified in the ID parameter as the authenticating user. Returns the un-blocked user in the requested format when successful.
  182. * <br>This method calls https://api.twitter.com/1.1/blocks/destroy/[id].json
  183. *
  184. * @param userId the ID of the user to block
  185. * @return the unblocked user
  186. * @throws TwitterException when Twitter service or network is unavailable
  187. * @see <a href="https://dev.twitter.com/docs/api/1.1/post/blocks/destroy">POST blocks/destroy | Twitter Developers</a>
  188. * @since Twitter4J 2.0.1
  189. */
  190. User destroyBlock(long userId) throws TwitterException;
  191. /**
  192. * Un-blocks the user specified in the ID parameter as the authenticating user. Returns the un-blocked user in the requested format when successful.
  193. * <br>This method calls https://api.twitter.com/1.1/blocks/destroy/[id].json
  194. *
  195. * @param screen_name the screen_name of the user to block
  196. * @return the unblocked user
  197. * @throws TwitterException when Twitter service or network is unavailable
  198. * @see <a href="https://dev.twitter.com/docs/api/1.1/post/blocks/destroy">POST blocks/destroy | Twitter Developers</a>
  199. * @since Twitter4J 2.0.1
  200. */
  201. User destroyBlock(String screen_name) throws TwitterException;
  202. /**
  203. * Returns a list of user objects that the authenticating user is muting.
  204. * <br>This method calls https://api.twitter.com/1.1/mutes/users/list
  205. *
  206. * @param cursor Causes the list of muted users to be broken into pages of no more than 5000 IDs at a time. The number of IDs returned is not guaranteed to be 5000 as suspended users are filtered out after connections are queried. If no cursor is provided, a value of -1 will be assumed, which is the first "page."
  207. * @return a list of user objects that the authenticating user
  208. * @throws TwitterException when Twitter service or network is unavailable
  209. * @see <a href="https://dev.twitter.com/docs/api/1.1/get/mutes/users/list">GET blocks/blocking | Twitter Developers</a>
  210. * @since Twitter4J 4.0.2
  211. */
  212. PagableResponseList<User> getMutesList(long cursor) throws TwitterException;
  213. /**
  214. * Returns an array of numeric user ids the authenticating user is muting.
  215. * <br>This method calls https://api.twitter.com/1.1/mutes/users/ids
  216. *
  217. * @param cursor Causes the list of muted users to be broken into pages of no more than 5000 IDs at a time. The number of IDs returned is not guaranteed to be 5000 as suspended users are filtered out after connections are queried. If no cursor is provided, a value of -1 will be assumed, which is the first "page."
  218. * @return Returns an array of numeric user ids the authenticating user is muting.
  219. * @throws TwitterException when Twitter service or network is unavailable
  220. * @see <a href="https://dev.twitter.com/docs/api/1.1/get/mutes/users/ids">GET blocks/ids | Twitter Developers</a>
  221. * @since Twitter4J 4.0.2
  222. */
  223. IDs getMutesIDs(long cursor) throws TwitterException;
  224. /**
  225. * Mutes the user specified in the ID parameter as the authenticating user. Returns the muted user in the requested format when successful.
  226. * <br>This method calls https://api.twitter.com/1.1/mutes/users/create
  227. *
  228. * @param userId the user_id of the user to mute
  229. * @return the muted user
  230. * @throws TwitterException when Twitter service or network is unavailable
  231. * @see <a href="https://dev.twitter.com/docs/api/1.1/post/mutes/users/create">POST mutes/users/create | Twitter Developers</a>
  232. * @since Twitter4J 4.0.2
  233. */
  234. User createMute(long userId) throws TwitterException;
  235. /**
  236. * Mutes the user specified in the screen name parameter as the authenticating user. Returns the muted user in the requested format when successful.
  237. * <br>This method calls https://api.twitter.com/1.1/mutes/users/create
  238. *
  239. * @param screenName the screen_name of the user to mute
  240. * @return the muted user
  241. * @throws TwitterException when Twitter service or network is unavailable
  242. * @see <a href="https://dev.twitter.com/docs/api/1.1/post/mutes/users/create">POST mutes/users/create | Twitter Developers</a>
  243. * @since Twitter4J 4.0.2
  244. */
  245. User createMute(String screenName) throws TwitterException;
  246. /**
  247. * Un-mutes the user specified in the ID parameter as the authenticating user. Returns the un-muted user in the requested format when successful.
  248. * <br>This method calls https://api.twitter.com/1.1/mutes/users/destroy
  249. *
  250. * @param userId the ID of the user to mute
  251. * @return the unmuted user
  252. * @throws TwitterException when Twitter service or network is unavailable
  253. * @see <a href="https://dev.twitter.com/docs/api/1.1/post/mutes/users/destroy">POST mutes/users/destroy | Twitter Developers</a>
  254. * @since Twitter4J 4.0.2
  255. */
  256. User destroyMute(long userId) throws TwitterException;
  257. /**
  258. * Un-mutes the user specified in the screen name parameter as the authenticating user. Returns the un-muted user in the requested format when successful.
  259. * <br>This method calls https://api.twitter.com/1.1/mutes/users/destroy
  260. *
  261. * @param screenName the screen_name of the user to mute
  262. * @return the unmuted user
  263. * @throws TwitterException when Twitter service or network is unavailable
  264. * @see <a href="https://dev.twitter.com/docs/api/1.1/post/mutes/users/destroy">POST mutes/users/destroy | Twitter Developers</a>
  265. * @since Twitter4J 4.0.2
  266. */
  267. User destroyMute(String screenName) throws TwitterException;
  268. /**
  269. * Return up to 100 users worth of extended information, specified by either ID, screen name, or combination of the two. The author's most recent status (if the authenticating user has permission) will be returned inline.
  270. * <br>This method calls https://api.twitter.com/1.1/users/lookup.json
  271. *
  272. * @param ids Specifies the IDs of the users to return.
  273. * @return users
  274. * @throws TwitterException when Twitter service or network is unavailable
  275. * @see <a href="https://dev.twitter.com/docs/api/1.1/get/users/lookup">GET users/lookup | Twitter Developers</a>
  276. * @since Twitter4J 2.1.1
  277. */
  278. ResponseList<User> lookupUsers(long... ids) throws TwitterException;
  279. /**
  280. * Return up to 100 users worth of extended information, specified by either ID, screen name, or combination of the two. The author's most recent status (if the authenticating user has permission) will be returned inline.
  281. * <br>This method calls https://api.twitter.com/1.1/users/lookup.json
  282. *
  283. * @param screenNames Specifies the screen names of the users to return.
  284. * @return users
  285. * @throws TwitterException when Twitter service or network is unavailable
  286. * @see <a href="https://dev.twitter.com/docs/api/1.1/get/users/lookup">GET users/lookup | Twitter Developers</a>
  287. * @since Twitter4J 2.1.1
  288. */
  289. ResponseList<User> lookupUsers(String... screenNames) throws TwitterException;
  290. /**
  291. * Returns extended information of a given user, specified by ID or screen name as per the required id parameter. The author's most recent status will be returned inline.
  292. * <br>This method calls https://api.twitter.com/1.1/users/show.json
  293. *
  294. * @param userId the ID of the user for whom to request the detail
  295. * @return users
  296. * @throws TwitterException when Twitter service or network is unavailable
  297. * @see <a href="https://dev.twitter.com/docs/api/1.1/get/users/show">GET users/show | Twitter Developers</a>
  298. * @since Twitter4J 2.1.0
  299. */
  300. User showUser(long userId) throws TwitterException;
  301. /**
  302. * Returns extended information of a given user, specified by ID or screen name as per the required id parameter. The author's most recent status will be returned inline.
  303. * <br>This method calls https://api.twitter.com/1.1/users/show.json
  304. *
  305. * @param screenName the screen name of the user for whom to request the detail
  306. * @return User
  307. * @throws TwitterException when Twitter service or network is unavailable
  308. * @see <a href="https://dev.twitter.com/docs/api/1.1/get/users/show">GET users/show | Twitter Developers</a>
  309. */
  310. User showUser(String screenName) throws TwitterException;
  311. /**
  312. * Run a search for users similar to the Find People button on Twitter.com; the same results returned by people search on Twitter.com will be returned by using this API.<br>
  313. * Usage note: It is only possible to retrieve the first 1000 matches from this API.
  314. * <br>This method calls https://api.twitter.com/1.1/users/search.json
  315. *
  316. * @param query The query to run against people search.
  317. * @param page Specifies the page of results to retrieve. Number of statuses per page is fixed to 20.
  318. * @return the list of Users matches the provided
  319. * @throws TwitterException when Twitter service or network is unavailable
  320. * @see <a href="https://dev.twitter.com/docs/api/1.1/get/users/search">GET users/search | Twitter Developers</a>
  321. */
  322. ResponseList<User> searchUsers(String query, int page) throws TwitterException;
  323. /**
  324. * Returns an array of users that the specified user can contribute to.
  325. *
  326. * @param userId The user id of the user for whom to return results for
  327. * @return list of contributors
  328. * @throws TwitterException when Twitter service or network is unavailable
  329. * @see <a href="https://dev.twitter.com/docs/api/1.1/get/users/contributees">GET users/contributors | Twitter Developers</a>
  330. * @since Twitter4J 3.0.0
  331. */
  332. ResponseList<User> getContributees(long userId) throws TwitterException;
  333. /**
  334. * Returns an array of users that the specified user can contribute to.
  335. *
  336. * @param screenName The screen name of the user for whom to return results for
  337. * @return list of contributors
  338. * @throws TwitterException when Twitter service or network is unavailable
  339. * @see <a href="https://dev.twitter.com/docs/api/1.1/get/users/contributees">GET users/contributors | Twitter Developers</a>
  340. * @since Twitter4J 3.0.0
  341. */
  342. ResponseList<User> getContributees(String screenName) throws TwitterException;
  343. /**
  344. * Returns an array of users who can contribute to the specified account.
  345. *
  346. * @param userId The user id of the user for whom to return results for
  347. * @return list of contributors
  348. * @throws TwitterException when Twitter service or network is unavailable
  349. * @see <a href="https://dev.twitter.com/docs/api/1.1/get/users/contributors">GET users/contributors | Twitter Developers</a>
  350. * @since Twitter4J 3.0.0
  351. */
  352. ResponseList<User> getContributors(long userId) throws TwitterException;
  353. /**
  354. * Returns an array of users who can contribute to the specified account.
  355. *
  356. * @param screenName The screen name of the user for whom to return results for
  357. * @return list of contributors
  358. * @throws TwitterException when Twitter service or network is unavailable
  359. * @see <a href="https://dev.twitter.com/docs/api/1.1/get/users/contributors">GET users/contributors | Twitter Developers</a>
  360. * @since Twitter4J 3.0.0
  361. */
  362. ResponseList<User> getContributors(String screenName) throws TwitterException;
  363. /**
  364. * Removes the uploaded profile banner for the authenticating user. Returns HTTP 200 upon success.
  365. * <br>This method calls https://api.twitter.com/1.1/account/remove_profile_banner.json
  366. *
  367. * @see <a href="https://dev.twitter.com/docs/api/1.1/post/account/remove_profile_banner">POST account/remove_profile_banner | Twitter Developers</a>
  368. * @since Twitter4J 3.0.0
  369. * @throws TwitterException when Twitter service or network is unavailable
  370. */
  371. void removeProfileBanner() throws TwitterException;
  372. /**
  373. * Uploads a profile banner on behalf of the authenticating user. For best results, upload an &lt;5MB image that is exactly 1252px by 626px. Images will be resized for a number of display options. Users with an uploaded profile banner will have a profile_banner_url node in their <a href="https://dev.twitter.com/docs/platform-objects/users">Users</a> objects. More information about sizing variations can be found in <a href="https://dev.twitter.com/docs/user-profile-images-and-banners">User Profile Images and Banners</a>.<br>
  374. * Profile banner images are processed asynchronously. The profile_banner_url and its variant sizes will not necessary be available directly after upload.<br>
  375. * <br>This method calls https://api.twitter.com/1.1/account/update_profile_banner.json
  376. *
  377. * @param image For best results, upload an &lt;5MB image that is exactly 1252px by 626px.
  378. * @throws TwitterException when Twitter service or network is unavailable,
  379. * or when the specified file is not found (FileNotFoundException will be nested),
  380. * or when the specified file object in not representing a file (IOException will be nested)
  381. * @see <a href="https://dev.twitter.com/docs/api/1.1/post/account/update_profile_banner">POST account/update_profile_banner | Twitter Developers</a>
  382. * @since Twitter4J 3.0.0
  383. */
  384. void updateProfileBanner(File image) throws TwitterException;
  385. /**
  386. * Uploads a profile banner on behalf of the authenticating user. For best results, upload an &lt;5MB image that is exactly 1252px by 626px. Images will be resized for a number of display options. Users with an uploaded profile banner will have a profile_banner_url node in their <a href="https://dev.twitter.com/docs/platform-objects/users">Users</a> objects. More information about sizing variations can be found in <a href="https://dev.twitter.com/docs/user-profile-images-and-banners">User Profile Images and Banners</a>.<br>
  387. * Profile banner images are processed asynchronously. The profile_banner_url and its variant sizes will not necessary be available directly after upload.<br>
  388. * <br>This method calls https://api.twitter.com/1.1/account/update_profile_banner.json
  389. *
  390. * @param image For best results, upload an &lt;5MB image that is exactly 1252px by 626px.
  391. * @throws TwitterException when Twitter service or network is unavailable,
  392. * or when the specified file is not found (FileNotFoundException will be nested),
  393. * or when the specified file object in not representing a file (IOException will be nested)
  394. * @see <a href="https://dev.twitter.com/docs/api/1.1/post/account/update_profile_banner">POST account/update_profile_banner | Twitter Developers</a>
  395. * @since Twitter4J 3.0.0
  396. */
  397. void updateProfileBanner(InputStream image) throws TwitterException;
  398. }