PageRenderTime 55ms CodeModel.GetById 27ms RepoModel.GetById 1ms app.codeStats 0ms

/doc/users.md

http://github.com/box/box-java-sdk
Markdown | 288 lines | 213 code | 75 blank | 0 comment | 0 complexity | fb4d76a7f22f9115185956581c848696 MD5 | raw file
Possible License(s): Apache-2.0
  1. Users
  2. =====
  3. Users represent an individual's account on Box.
  4. <!-- START doctoc generated TOC please keep comment here to allow auto update -->
  5. <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
  6. - [Get the Current User's Information](#get-the-current-users-information)
  7. - [Create An Enterprise User](#create-an-enterprise-user)
  8. - [Create An App User](#create-an-app-user)
  9. - [Update User](#update-user)
  10. - [Delete User](#delete-user)
  11. - [Invite User](#invite-user)
  12. - [Get Email Aliases](#get-email-aliases)
  13. - [Add Email Alias](#add-email-alias)
  14. - [Delete Email Alias](#delete-email-alias)
  15. - [Get Enterprise Users](#get-enterprise-users)
  16. - [Get Enterprise Users (Marker Pagination)](#get-enterprise-users-marker-pagination)
  17. - [Get App Users By External App User ID](#get-app-users-by-external-app-user-id)
  18. - [Get App Users By External App User ID (Marker Pagination)](#get-app-users-by-external-app-user-id-marker-pagination)
  19. - [Move User's Folder](#move-users-folder)
  20. <!-- END doctoc generated TOC please keep comment here to allow auto update -->
  21. Get the Current User's Information
  22. ----------------------------------
  23. To get the current user, call the static
  24. [`getCurrentUser(BoxAPIConnection api)`][get-current-user] method.
  25. Then use [`getInfo(String... fields)`][get-info] to get information about the user.
  26. <!-- sample get_users_me -->
  27. ```java
  28. BoxUser user = BoxUser.getCurrentUser(api);
  29. BoxUser.Info info = user.getInfo();
  30. ```
  31. [get-current-user]: http://opensource.box.com/box-java-sdk/javadoc/com/box/sdk/BoxUser.html#getCurrentUser-com.box.sdk.BoxAPIConnection-
  32. [get-info]: http://opensource.box.com/box-java-sdk/javadoc/com/box/sdk/BoxUser.html#getInfo-java.lang.String...-
  33. Get User Information
  34. --------------------
  35. To get information about a user, call the [`getInfo()`][get-info] method on the user object.
  36. <!-- sample get_users_id -->
  37. ```java
  38. String userID = "33333";
  39. BoxUser user = new BoxUser(api, userID);
  40. BoxUser.Info userInfo = user.getInfo();
  41. ```
  42. Get Avatar for a User
  43. ---------------------
  44. To retrieve the avatar for a user, call the [`getAvatar()`][get-avatar] method on the user object.
  45. <!-- sample get_users_id_avatar -->
  46. ```java
  47. String userID = "33333";
  48. BoxUser user = new BoxUser(api, userID);
  49. InputStream avatarStream = user.getAvatar();
  50. ```
  51. [get-avatar]: http://opensource.box.com/box-java-sdk/javadoc/com/box/sdk/BoxUser.html#getAvatar--
  52. Create An Enterprise User
  53. -------------------------
  54. To create an enterprise user, call the
  55. [`createEnterpriseUser(BoxAPIConnection api, String loginEmail, String userName)`][create-enterprise-user].
  56. To pass additional optional parameters, use the
  57. [`createEnterpriseUser(BoxAPIConnection api, String loginEmail, String userName, CreateUserParams options)`][create-enterprise-user-2]
  58. method.
  59. <!-- sample post_users -->
  60. ```java
  61. BoxUser.Info createdUserInfo = BoxUser.createEnterpriseUser(api, "user@example.com", "A User");
  62. ```
  63. [create-enterprise-user]: http://opensource.box.com/box-java-sdk/javadoc/com/box/sdk/BoxUser.html#createEnterpriseUser-com.box.sdk.BoxAPIConnection-java.lang.String-java.lang.String-
  64. [create-enterprise-user-2]: http://opensource.box.com/box-java-sdk/javadoc/com/box/sdk/BoxUser.html#createAppUser-com.box.sdk.BoxAPIConnection-java.lang.String-com.box.sdk.CreateUserParams-
  65. Create An App User
  66. ------------------
  67. To create an app user, call the
  68. [`createAppUser(BoxAPIConnection api, String userName)`][create-app-user] method.
  69. To pass additional optional parameters, use the
  70. [`createAppUser(BoxAPIConnection api, String userName, CreateUserParams options)`][create-app-user-2] method.
  71. <!-- sample post_users_app -->
  72. ```java
  73. BoxUser.Info createdUserInfo = BoxUser.createAppUser(api, "A User");
  74. ```
  75. ```java
  76. CreateUserParams params = new CreateUserParams();
  77. params.setExternalAppUserId("An Identifier Like Login");
  78. BoxUser.Info createdUserInfo = BoxUser.createAppUser(api, "A User", params);
  79. ```
  80. [create-app-user]: http://opensource.box.com/box-java-sdk/javadoc/com/box/sdk/BoxUser.html#createAppUser-com.box.sdk.BoxAPIConnection-java.lang.String-
  81. [create-app-user-2]: http://opensource.box.com/box-java-sdk/javadoc/com/box/sdk/BoxUser.html#createAppUser-com.box.sdk.BoxAPIConnection-java.lang.String-com.box.sdk.CreateUserParams-
  82. Update User
  83. -----------
  84. To update a user call the [`updateInfo(BoxUser.Info fieldsToUpdate)`][update-info] method.
  85. <!-- sample put_users_id -->
  86. ```java
  87. BoxUser user = new BoxUser(api, "0");
  88. BoxUser.Info info = user.new Info();
  89. info.setName(name);
  90. user.updateInfo(info);
  91. ```
  92. [update-info]: http://opensource.box.com/box-java-sdk/javadoc/com/box/sdk/BoxUser.html#updateInfo-com.box.sdk.BoxUser.Info-
  93. Delete User
  94. -----------
  95. To delete a user call the [`delete(boolean notifyUser, boolean force)`][delete] method.
  96. The `notifyUser` determines whether the user should receive an email about the deletion,
  97. and the `force` parameter will cause the user to be deleted even if they still have files
  98. in their account.
  99. <!-- sample delete_users_id -->
  100. ```java
  101. BoxUser user = new BoxUser(api, "0");
  102. user.delete(false, false);
  103. ```
  104. [delete]: http://opensource.box.com/box-java-sdk/javadoc/com/box/sdk/BoxUser.html#delete-boolean-boolean-
  105. Invite User
  106. -----------
  107. To invite an existing user to join an Enterprise call the
  108. [`inviteUser(String enterpriseID, String userEmail)`][invite] method.
  109. <!-- sample post_invites -->
  110. ```java
  111. BoxUser user = new BoxUser(api, "0");
  112. user.invite("Enterprise ID", "Invited User Login");
  113. ```
  114. [invite]: http://opensource.box.com/box-java-sdk/javadoc/com/box/sdk/BoxUser.html#inviteUser-java.lang.String-java.lang.String-
  115. Get Email Aliases
  116. -----------------
  117. To get a user's email aliases call the [`getEmailAliases()`][get-email-aliases] method.
  118. <!-- sample get_users_id_email_aliases -->
  119. ```java
  120. BoxUser user = new BoxUser(api, "0");
  121. Collection<EmailAlias> emailAliases = user.getEmailAliases();
  122. ```
  123. [get-email-aliases]: http://opensource.box.com/box-java-sdk/javadoc/com/box/sdk/BoxUser.html#getEmailAliases--
  124. Add Email Alias
  125. ---------------
  126. To add an email alias for a user, call the
  127. [`addEmailAlias(String emailAddress)`][add-email-alias] method.
  128. <!-- sample post_users_id_email_aliases -->
  129. ```java
  130. BoxUser user = new BoxUser(api, "0");
  131. user.addEmailAlias("user+alias@example.com");
  132. ```
  133. Enterprise admins can automatically confirm the new email alias by calling the
  134. [`addEmailAlias(String emailAddress, boolean confirm)`][add-email-alias2] method:
  135. ```java
  136. BoxUser user = new BoxUser(api, "0");
  137. user.addEmailAlias("user+alias@eexample.com", true);
  138. ```
  139. [add-email-alias]: http://opensource.box.com/box-java-sdk/javadoc/com/box/sdk/BoxUser.html#addEmailAlias-java.lang.String-
  140. [add-email-alias2]: http://opensource.box.com/box-java-sdk/javadoc/com/box/sdk/BoxUser.html#addEmailAlias-java.lang.String-boolean-
  141. Delete Email Alias
  142. ------------------
  143. To delete a users email alias call the
  144. [`deleteEmailAlias(String emailAliasID)`][delete-email-alias] method.
  145. <!-- sample delete_users_id_email_aliases_id -->
  146. ```java
  147. BoxUser user = new BoxUser(api, "0");
  148. user.deleteEmailAlias("123");
  149. ```
  150. [delete-email-alias]: http://opensource.box.com/box-java-sdk/javadoc/com/box/sdk/BoxUser.html#deleteEmailAlias-java.lang.String-
  151. Get Enterprise Users
  152. --------------------
  153. To get an enterprise's users call the
  154. [`getAllEnterpriseUsers(BoxAPIConnection api)`][get-all-enterprise-users],
  155. [`getAllEnterpriseUsers(BoxAPIConnection api, String filterTerm, String... fields)`][get-all-enterprise-users-2], or
  156. [`getAllEnterpriseOrExternalUsers(BoxAPIConnection api, String filterTerm, String... fields)`][get-all-enterprise-users-3] method.
  157. <!-- sample get_users -->
  158. ```java
  159. Iterable<BoxUser.Info> users = BoxUser.getAllEnterpriseUsers(api);
  160. ```
  161. [get-all-enterprise-users]: http://opensource.box.com/box-java-sdk/javadoc/com/box/sdk/BoxUser.html#getAllEnterpriseUsers-com.box.sdk.BoxAPIConnection-
  162. [get-all-enterprise-users-2]: http://opensource.box.com/box-java-sdk/javadoc/com/box/sdk/BoxUser.html#getAllEnterpriseUsers-com.box.sdk.BoxAPIConnection-java.lang.String-java.lang.String...-
  163. [get-all-enterprise-users-3]: http://opensource.box.com/box-java-sdk/javadoc/com/box/sdk/BoxUser.html#getAllEnterpriseOrExternalUsers-com.box.sdk.BoxAPIConnection-java.lang.String-java.lang.String...-
  164. Get Enterprise Users (Marker Pagination)
  165. --------------------
  166. To get a list of all users in an enterprise, call the
  167. [`getAllEnterpriseUsers(BoxAPIConnection api, boolean usemarker, String marker)`][get-all-enterprise-users],
  168. [`getAllEnterpriseUsers(BoxAPIConnection api, String filterTerm, boolean usemarker, String marker, String... fields)`][get-all-enterprise-users-2], or
  169. [`getAllEnterpriseOrExternalUsers(BoxAPIConnection api, String filterTerm, boolean usemarker, String marker, String... fields)`][get-all-enterprise-users-3] method.
  170. To get a list of users starting from the first page of results, set the `usemarker` parameter as `true` and the `marker` parameter as `null`. If you would like to get the marker for the next page of results from the page the iterator is currently on, you must cast the iterable to `BoxResourseIterable<BoxUser.info>` and call `getNextMarker()` on that iterable. For more information on marker pagination, look here: https://developer.box.com/en/guides/api-calls/pagination/marker-based/.
  171. <!-- sample get_users -->
  172. ```java
  173. Iterable<BoxUser.Info> users = BoxUser.getAllEnterpriseUsers(api, true, null);
  174. // Get marker
  175. String marker = ((BoxResourceIterable<BoxUser.Info>) users).getNextMarker();
  176. ```
  177. [get-all-enterprise-users]: http://opensource.box.com/box-java-sdk/javadoc/com/box/sdk/BoxUser.html#getAllEnterpriseUsers-com.box.sdk.BoxAPIConnection-
  178. [get-all-enterprise-users-2]: http://opensource.box.com/box-java-sdk/javadoc/com/box/sdk/BoxUser.html#getAllEnterpriseUsers-com.box.sdk.BoxAPIConnection-java.lang.String-java.lang.String...-
  179. [get-all-enterprise-users-3]: http://opensource.box.com/box-java-sdk/javadoc/com/box/sdk/BoxUser.html#getAllEnterpriseOrExternalUsers-com.box.sdk.BoxAPIConnection-java.lang.String-java.lang.String...-
  180. Get App Users By External App User ID
  181. -------------------------------------
  182. To get app user using external app user ID, call the
  183. [`getAppUsersByExternalAppUserID(BoxAPIConnection api, String externalID, String... fields)`][get-app-users-by-external-app-user-id].
  184. This method allows you to easily associate Box app users with your application's
  185. identifiers for those users.
  186. ```java
  187. Iterable<BoxUser.Info> users = BoxUser.getAppUsersByExternalAppUserID(api, "external_app_user_id");
  188. ```
  189. [get-app-users-by-external-app-user-id]: http://opensource.box.com/box-java-sdk/javadoc/com/box/sdk/BoxUser.html#getAppUsersByExternalAppUserID-com.box.sdk.BoxAPIConnection-java.lang.String-java.lang.String...-
  190. Get App Users By External App User ID (Marker Pagination)
  191. -------------------------------------
  192. To get app user using external app user ID, call the
  193. [`getAppUsersByExternalAppUserID(BoxAPIConnection api, String externalID, boolean usemarker, String marker, String... fields)`][get-app-users-by-external-app-user-id].
  194. This method allows you to easily associate Box app users with your application's
  195. identifiers for those users. To get a list of users starting from the first page of results, set the `usemarker` parameter as `true` and the `marker` parameter as `null`. If you would like to get the marker for the next page of results from the page the iterator is currently on, you must cast the iterable to `BoxResourseIterable<BoxUser.info>` and call `getNextMarker()` on that iterable. For more information on marker pagination, look here: https://developer.box.com/en/guides/api-calls/pagination/marker-based/.
  196. ```java
  197. Iterable<BoxUser.Info> users = BoxUser.getAppUsersByExternalAppUserID(api, "external_app_user_id");
  198. // Get marker
  199. String marker = ((BoxResourceIterable<BoxUser.Info>) users).getNextMarker();
  200. ```
  201. [get-app-users-by-external-app-user-id]: http://opensource.box.com/box-java-sdk/javadoc/com/box/sdk/BoxUser.html#getAppUsersByExternalAppUserID-com.box.sdk.BoxAPIConnection-java.lang.String-java.lang.String...-
  202. Move User's Folder
  203. ------------------
  204. To move all of a user's content to another user, call the
  205. [`transferContent(String destinationUserID)`][transfer-folder-to-new-user] method.
  206. <!-- sample put_users_id_folders_0 -->
  207. ```java
  208. String sourceUserID = "11111";
  209. String destinationUserID = "22222";
  210. BoxUser sourceUser = new BoxUser(api, sourceUserID);
  211. BoxFolder.Info transferredFolderInfo = sourceUser.transferContent(destinationUserID);
  212. ```
  213. [transfer-folder-to-new-user]: http://opensource.box.com/box-java-sdk/javadoc/com/box/sdk/BoxUser.html#transferContent-java.lang.String-