// Retrieve the existing user.Useruser=service.users().get(user-id).execute();// Create the bulk edit request structure.BulkEditAssignedUserRolesRequestbulkEditRequest=newBulkEditAssignedUserRolesRequest();// Build list of user roles to add.ArrayList<AssignedUserRole>addedUserRoles=newArrayList<AssignedUserRole>();// Add the user role for the new advertiser and the new user role// for the existing advertiser to assign to the user.addedUserRoles.add(newAssignedUserRole().setAdvertiserId(new-advertiser-id).setUserRole("STANDARD"));addedUserRoles.add(newAssignedUserRole().setAdvertiserId(existing-advertiser-id).setUserRole("READ_ONLY"));// Add list of user roles to add to the request.bulkEditRequest.setCreatedAssignedUserRoles(addedUserRoles);// Build list of user role IDs to delete.ArrayList<String>deletedUserRoles=newArrayList<String>();// Create assigned user role ID to check for.StringexistingAssignedUserRoleId=String.format("advertiser-%d",existing-advertiser-id);// Check the existing user roles. If the user has an existing user role// for the existing advertiser, add it to the list of roles to be deleted.// Users cannot have multiple roles for a single resource.for(AssignedUserRoleuserRole:user.getAssignedUserRoles()){if(userRole.getAssignedUserRoleId()==existingAssignedUserRoleId){deletedUserRoles.add(existingAssignedUserRoleId);}}// Add list of user roles to delete to the request.bulkEditRequest.setDeletedAssignedUserRoles(deletedUserRoles);// Build and execute the bulk edit request.BulkEditAssignedUserRolesResponseresponse=service.users().bulkEditAssignedUserRoles(user-id,bulkEditRequest).execute();// Check if response is empty.// If not, iterate over created AssignedUserRoles.if(response.isEmpty()){System.out.print("Bulk edit request created no new AssignedUserRoles.");}else{for(AssignedUserRoleassignedRole:response.getCreatedAssignedUserRoles()){System.out.printf("AssignedUserRole %s was created.\n",assignedRole.getAssignedUserRoleId());}}
Python
# Retrieve the existing user.user=service.users().get(userId=user-id).execute()# Add the user role for the new advertiser and the new user role# for the existing advertiser to assign to the user.added_user_roles=[{'advertiser_id':new-advertiser-id,'user_role':'STANDARD'},{'advertiser_id':existing-advertiser-id,'user_role':'READ_ONLY'}]# Create empty deleted user role list to add to if necessary.deleted_user_roles=[]# Check the existing user roles. If the user has an existing user role# for the existing advertiser, add it to the list of roles to be deleted.# Users cannot have multiple roles for a single resource.forroleinuser['assignedUserRoles']:ifrole['assignedUserRoleId']==("advertiser-%s"%existing-advertiser-id):deleted_user_roles.append(role['assignedUserRoleId'])# Create the bulk edit request.bulk_edit_user_roles_request={'deletedAssignedUserRoles':deleted_user_roles,'createdAssignedUserRoles':added_user_roles}# Edit the assigned user roles.response=service.users().bulkEditAssignedUserRoles(userId=user-id,body=bulk_edit_user_roles_request).execute()# Check if response is empty.# If not, iterate over and display new assigned targeting options.ifnotresponse:print("Bulk edit request created no new AssignedUserRoles.")else:forassigned_user_roleinresponse['createdAssignedUserRoles']:print("AssignedUserRole %s was created.\n"%assigned_user_role['assignedUserRoleId'])
PHP
// Call the API, retrieving the existing user.$user = $this->service->users->get(user-id);// Create an array for user roles to add.$addedUserRoles = array();// Create new user role for new advertiser.$newAdvertiserUserRole = new Google_Service_DisplayVideo_AssignedUserRole();$newAdvertiserUserRole->setAdvertiserId(new-advertiser-id);$newAdvertiserUserRole->setUserRole('STANDARD');$addedUserRoles[] = $newAdvertiserUserRole;// Create new user role for existing advertiser.$existingAdvertiserUserRole = new Google_Service_DisplayVideo_AssignedUserRole();$existingAdvertiserUserRole->setAdvertiserId(existing-advertiser-id);$existingAdvertiserUserRole->setUserRole('READ_ONLY');$addedUserRoles[] = $existingAdvertiserUserRole;// Create an array for user roles to delete.$deletedUserRoles = array();// Add user role to delete list if it is being replaced by a new user role.foreach ($user->getAssignedUserRoles() as $role) { if ($role->getAdvertiserId() == existing-advertiser-id) { $deletedUserRoles[] = $role->getAssignedUserRoleId(); }}// Create the bulk edit request.$bulkEditUserRolesRequest = new Google_Service_DisplayVideo_BulkEditAssignedUserRolesRequest();$bulkEditUserRolesRequest->setCreatedAssignedUserRoles($addedUserRoles);$bulkEditUserRolesRequest->setDeletedAssignedUserRoles($deletedUserRoles);// Call the API, editing the assigned user roles for the given user.$response = $this->service->users->bulkEditAssignedUserRoles(user-id, $bulkEditUserRolesRequest);// Print created assigned user roles.if (!empty($response->getCreatedAssignedUserRoles())) { foreach ($response->getCreatedAssignedUserRoles() as $role) { printf( 'AssignedUserRole %s was created.\n', $role['assignedUserRoleId'] ); }} else { print('Bulk edit request created no new AssignedUserRoles.');}
[null,null,["最后更新时间 (UTC):2025-07-25。"],[[["\u003cp\u003eUsers must have at least one assigned user role upon creation, and their access can be adjusted as needed over time to include new resources.\u003c/p\u003e\n"],["\u003cp\u003eUser roles are managed through the \u003ccode\u003eusers.bulkEditAssignedUserRoles\u003c/code\u003e method, enabling simultaneous addition and removal of roles.\u003c/p\u003e\n"],["\u003cp\u003eA user cannot have roles for both an advertiser and its parent partner.\u003c/p\u003e\n"],["\u003cp\u003eThis method allows for efficient updates to user access levels with a single API request, and code examples in Java, Python, and PHP are provided.\u003c/p\u003e\n"]]],["User access to resources is managed through assigned user roles, which must be updated via the `users.bulkEditAssignedUserRoles` method. This method allows adding and removing roles in a single request. To update, first, retrieve the existing user and then define roles to add and delete. The process then involves creating a bulk edit request that specifies these changes. The request is executed, resulting in the creation or removal of specified user roles. User cannot have assigned roles for both the parent and the advertiser.\n"],null,["# Change user access\n\nUpon creation, a user must have at least one assigned user role. However, as\nnew advertisers are created or organizations expand to multiple partners, users'\naccess will need to be updated to include new relevant resources.\n\nA user's roles must be updated through the\n[`users.bulkEditAssignedUserRoles`](/display-video/api/reference/rest/current/users/bulkEditAssignedUserRoles) method, which\ncan remove and add user roles with a single action. This allows you to change a\nuser's level of access to a resource with a single request.\n| **Note:** A user cannot have assigned user roles for both an advertiser and its parent partner.\n\nHere's an example of how to edit the [assigned user roles](/display-video/api/reference/rest/current/users#assigneduserrole)\nof an existing user: \n\n### Java\n\n```java\n// Retrieve the existing user.\nUser user = service.users().get(user-id).execute();\n\n// Create the bulk edit request structure.\nBulkEditAssignedUserRolesRequest bulkEditRequest =\n new BulkEditAssignedUserRolesRequest();\n\n// Build list of user roles to add.\nArrayList\u003cAssignedUserRole\u003e addedUserRoles =\n new ArrayList\u003cAssignedUserRole\u003e();\n\n// Add the user role for the new advertiser and the new user role\n// for the existing advertiser to assign to the user.\naddedUserRoles.add(new AssignedUserRole()\n .setAdvertiserId(new-advertiser-id)\n .setUserRole(\"STANDARD\"));\naddedUserRoles.add(new AssignedUserRole()\n .setAdvertiserId(existing-advertiser-id)\n .setUserRole(\"READ_ONLY\"));\n\n// Add list of user roles to add to the request.\nbulkEditRequest.setCreatedAssignedUserRoles(addedUserRoles);\n\n// Build list of user role IDs to delete.\nArrayList\u003cString\u003e deletedUserRoles = new ArrayList\u003cString\u003e();\n\n// Create assigned user role ID to check for.\nString existingAssignedUserRoleId = String.format(\n \"advertiser-%d\",\n existing-advertiser-id\n);\n\n// Check the existing user roles. If the user has an existing user role\n// for the existing advertiser, add it to the list of roles to be deleted.\n// Users cannot have multiple roles for a single resource.\nfor (AssignedUserRole userRole: user.getAssignedUserRoles()) {\n if (userRole.getAssignedUserRoleId() == existingAssignedUserRoleId) {\n deletedUserRoles.add(existingAssignedUserRoleId);\n }\n}\n\n// Add list of user roles to delete to the request.\nbulkEditRequest.setDeletedAssignedUserRoles(deletedUserRoles);\n\n// Build and execute the bulk edit request.\nBulkEditAssignedUserRolesResponse response = service.users()\n .bulkEditAssignedUserRoles(\n user-id,\n bulkEditRequest\n ).execute();\n\n// Check if response is empty.\n// If not, iterate over created AssignedUserRoles.\nif (response.isEmpty()) {\n System.out.print(\"Bulk edit request created no new AssignedUserRoles.\");\n} else {\n for (AssignedUserRole assignedRole : response.getCreatedAssignedUserRoles()) {\n System.out.printf(\"AssignedUserRole %s was created.\\n\",\n assignedRole.getAssignedUserRoleId());\n }\n}\n```\n\n### Python\n\n```python\n# Retrieve the existing user.\nuser = service.users().get(userId=user-id).execute()\n\n# Add the user role for the new advertiser and the new user role\n# for the existing advertiser to assign to the user.\nadded_user_roles = [\n {\n 'advertiser_id': new-advertiser-id,\n 'user_role': 'STANDARD'\n },\n {\n 'advertiser_id': existing-advertiser-id,\n 'user_role': 'READ_ONLY'\n }\n]\n\n# Create empty deleted user role list to add to if necessary.\ndeleted_user_roles = []\n\n# Check the existing user roles. If the user has an existing user role\n# for the existing advertiser, add it to the list of roles to be deleted.\n# Users cannot have multiple roles for a single resource.\nfor role in user['assignedUserRoles']:\n if role['assignedUserRoleId'] == (\"advertiser-%s\" % existing-advertiser-id):\n deleted_user_roles.append(role['assignedUserRoleId'])\n\n# Create the bulk edit request.\nbulk_edit_user_roles_request = {\n 'deletedAssignedUserRoles': deleted_user_roles,\n 'createdAssignedUserRoles': added_user_roles\n}\n\n# Edit the assigned user roles.\nresponse = service.users().bulkEditAssignedUserRoles(\n userId=user-id,\n body=bulk_edit_user_roles_request\n).execute()\n\n# Check if response is empty.\n# If not, iterate over and display new assigned targeting options.\nif not response:\n print(\"Bulk edit request created no new AssignedUserRoles.\")\nelse:\n for assigned_user_role in response['createdAssignedUserRoles']:\n print(\"AssignedUserRole %s was created.\\n\"\n % assigned_user_role['assignedUserRoleId'])\n```\n\n### PHP\n\n```php\n// Call the API, retrieving the existing user.\n$user = $this-\u003eservice-\u003eusers-\u003eget(\u003cvar translate=\"no\"\u003euser-id\u003c/var\u003e);\n\n// Create an array for user roles to add.\n$addedUserRoles = array();\n\n// Create new user role for new advertiser.\n$newAdvertiserUserRole = new Google_Service_DisplayVideo_AssignedUserRole();\n$newAdvertiserUserRole-\u003esetAdvertiserId(\u003cvar translate=\"no\"\u003enew-advertiser-id\u003c/var\u003e);\n$newAdvertiserUserRole-\u003esetUserRole('STANDARD');\n$addedUserRoles[] = $newAdvertiserUserRole;\n\n// Create new user role for existing advertiser.\n$existingAdvertiserUserRole =\n new Google_Service_DisplayVideo_AssignedUserRole();\n$existingAdvertiserUserRole-\u003esetAdvertiserId(\n \u003cvar translate=\"no\"\u003eexisting-advertiser-id\u003c/var\u003e\n);\n$existingAdvertiserUserRole-\u003esetUserRole('READ_ONLY');\n$addedUserRoles[] = $existingAdvertiserUserRole;\n\n// Create an array for user roles to delete.\n$deletedUserRoles = array();\n\n// Add user role to delete list if it is being replaced by a new user role.\nforeach ($user-\u003egetAssignedUserRoles() as $role) {\n if ($role-\u003egetAdvertiserId() == \u003cvar translate=\"no\"\u003eexisting-advertiser-id\u003c/var\u003e) {\n $deletedUserRoles[] = $role-\u003egetAssignedUserRoleId();\n }\n}\n\n// Create the bulk edit request.\n$bulkEditUserRolesRequest =\n new Google_Service_DisplayVideo_BulkEditAssignedUserRolesRequest();\n$bulkEditUserRolesRequest-\u003esetCreatedAssignedUserRoles($addedUserRoles);\n$bulkEditUserRolesRequest-\u003esetDeletedAssignedUserRoles($deletedUserRoles);\n\n// Call the API, editing the assigned user roles for the given user.\n$response = $this-\u003eservice-\u003eusers-\u003ebulkEditAssignedUserRoles(\n \u003cvar translate=\"no\"\u003euser-id\u003c/var\u003e,\n $bulkEditUserRolesRequest\n);\n\n// Print created assigned user roles.\nif (!empty($response-\u003egetCreatedAssignedUserRoles())) {\n foreach ($response-\u003egetCreatedAssignedUserRoles() as $role) {\n printf(\n 'AssignedUserRole %s was created.\\n',\n $role['assignedUserRoleId']\n );\n }\n} else {\n print('Bulk edit request created no new AssignedUserRoles.');\n}\n```"]]