UpdateUserRoles 服務作業 - 客戶管理
匯報 指定使用者的角色。
注意事項
只有具有超級 管理員 或 Standard 認證的使用者可以更新使用者角色。 Standard 用戶無法設定或修改 Super 管理員 角色。 如需詳細資訊,請參閱 使用者角色 技術指南。
對於具有帳戶角色的使用者,您可以新增和刪除使用者可存取的帳戶。 對於具有客戶角色的使用者,您可以新增和刪除用戶可存取的客戶。 您也可以將使用者從擁有帳戶角色變更為具有客戶角色,反之亦然。
要求專案
UpdateUserRolesRequest 物件會定義服務作業要求的主體和標頭元素。 元素的順序必須與 要求SOAP中所示的順序相同。
注意事項
除非下面另有說明,否則所有要求專案都是必要的。
要求本文專案
元素 | 描述 | 資料類型 |
---|---|---|
CustomerId | 用戶所屬客戶的標識碼。 | 長 |
DeleteAccountIds | 要從使用者可以管理的帳戶清單中移除的帳戶標識元陣列。 如需使用方式,請參閱下方的一節。 |
long 陣列 |
DeleteCustomerIds | 要從使用者可管理的客戶清單中移除的客戶標識子陣列。 如需使用方式,請參閱下方的一節。 |
long 陣列 |
DeleteRoleId | 如果已設定,則為 DeleteAccountIds 或 DeleteCustomerIds 元素中所指定值所套用之角色的標識碼。 可能的值包括下列各項: 16 - 使用者具有 廣告營銷活動管理員 角色。 33 - 使用者具有 匯總工具 角色。 41 - 使用者具有超級 管理員 角色。 100 - 使用者具有 查看器 角色。 203 - 使用者具有 Standard 使用者角色。 如需詳細資訊,請參閱 使用者角色 技術指南。 重要:上述清單提供可能傳回值的範例。 可能會傳回其他值。 已淘汰或內部角色可以包含在回應中。 |
int |
NewAccountIds | 要限制使用者的帳戶標識碼數位。 使用者只能管理這些帳戶。 如果使用者目前僅限於一組帳戶,請將此元素設定為您希望使用者也管理的新帳戶。 例如,如果使用者目前管理帳戶 123 和 456,而且您希望使用者也管理帳戶 789,請將此元素設定為 789。 如需使用方式,請參閱下方的一節。 |
long 陣列 |
NewCustomerIds | 要限制使用者的客戶識別碼陣列。 使用者只能管理這些客戶。 如需使用方式,請參閱下方的一節。 |
long 陣列 |
NewRoleId | 如果已設定,則為 NewAccountIds 或 NewCustomerIds 元素中所指定值適用的角色識別碼。 可能的值包括下列各項: 16 - 使用者具有 廣告營銷活動管理員 角色。 33 - 使用者具有 匯總工具 角色。 41 - 使用者具有超級 管理員 角色。 100 - 使用者具有 查看器 角色。 203 - 使用者具有 Standard 使用者角色。 如需詳細資訊,請參閱 使用者角色 技術指南。 重要:上述清單提供可能傳回值的範例。 可能會傳回其他值。 已淘汰或內部角色可以包含在回應中。 |
int |
UserId | 您想要更新其角色之使用者的識別碼。 | 長 |
要求標頭元素
元素 | 描述 | 資料類型 |
---|---|---|
AuthenticationToken | OAuth 存取令牌,代表有權Microsoft Advertising 帳戶之用戶的認證。 如需詳細資訊,請 參閱使用 OAuth 進行驗證。 |
string |
DeveloperToken | 用來存取 Bing 廣告 API 的開發人員令牌。 如需詳細資訊 ,請參閱取得開發人員令牌。 |
string |
密碼 | 此元素會保留供內部使用,並會從未來的 API 版本中移除。 您必須使用 AuthenticationToken 元素來設定用戶認證。 | string |
UserName | 此元素會保留供內部使用,並會從未來的 API 版本中移除。 您必須使用 AuthenticationToken 元素來設定用戶認證。 | string |
Response 元素
UpdateUserRolesResponse 物件會定義服務作業響應的主體和標頭元素。 這些元素的傳回順序與 回應SOAP中所示的順序相同。
回應本文專案
元素 | 描述 | 資料類型 |
---|---|---|
LastModifiedTime | 上次更新使用者角色的日期和時間。 值為國際標準時間 (UTC)。 日期和時間值會反映伺服器上的日期和時間,而不是用戶端。 如需日期和時間格式的相關信息,請參閱 基本 XML 數據類型中的 dateTime 專案。 |
dateTime |
回應標頭元素
元素 | 描述 | 資料類型 |
---|---|---|
TrackingId | 包含 API 呼叫詳細數據的記錄項目識別碼。 | string |
要求SOAP
此範本是由工具所產生,用來顯示SOAP要求的主體和標頭元素順序。 如需可搭配此服務作業使用的支援類型,請參閱上述 的要求本文項目 參考。
<s:Envelope xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header xmlns="https://bingads.microsoft.com/Customer/v13">
<Action mustUnderstand="1">UpdateUserRoles</Action>
<AuthenticationToken i:nil="false">ValueHere</AuthenticationToken>
<DeveloperToken i:nil="false">ValueHere</DeveloperToken>
</s:Header>
<s:Body>
<UpdateUserRolesRequest xmlns="https://bingads.microsoft.com/Customer/v13">
<CustomerId>ValueHere</CustomerId>
<UserId>ValueHere</UserId>
<NewRoleId i:nil="false">ValueHere</NewRoleId>
<NewAccountIds i:nil="false" xmlns:a1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<a1:long>ValueHere</a1:long>
</NewAccountIds>
<NewCustomerIds i:nil="false" xmlns:a1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<a1:long>ValueHere</a1:long>
</NewCustomerIds>
<DeleteRoleId i:nil="false">ValueHere</DeleteRoleId>
<DeleteAccountIds i:nil="false" xmlns:a1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<a1:long>ValueHere</a1:long>
</DeleteAccountIds>
<DeleteCustomerIds i:nil="false" xmlns:a1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<a1:long>ValueHere</a1:long>
</DeleteCustomerIds>
</UpdateUserRolesRequest>
</s:Body>
</s:Envelope>
回應 SOAP
此範本是由工具所產生,用來顯示SOAP回應的 主體 和 標頭 元素順序。
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header xmlns="https://bingads.microsoft.com/Customer/v13">
<TrackingId d3p1:nil="false" xmlns:d3p1="http://www.w3.org/2001/XMLSchema-instance">ValueHere</TrackingId>
</s:Header>
<s:Body>
<UpdateUserRolesResponse xmlns="https://bingads.microsoft.com/Customer/v13">
<LastModifiedTime>ValueHere</LastModifiedTime>
</UpdateUserRolesResponse>
</s:Body>
</s:Envelope>
程序代碼語法
範例語法可以與 Bing 廣告 SDK 搭配使用。 如需更多範例,請參閱 Bing 廣告 API 程式代碼範 例。
public async Task<UpdateUserRolesResponse> UpdateUserRolesAsync(
long customerId,
long userId,
int? newRoleId,
IList<long> newAccountIds,
IList<long> newCustomerIds,
int? deleteRoleId,
IList<long> deleteAccountIds,
IList<long> deleteCustomerIds)
{
var request = new UpdateUserRolesRequest
{
CustomerId = customerId,
UserId = userId,
NewRoleId = newRoleId,
NewAccountIds = newAccountIds,
NewCustomerIds = newCustomerIds,
DeleteRoleId = deleteRoleId,
DeleteAccountIds = deleteAccountIds,
DeleteCustomerIds = deleteCustomerIds
};
return (await CustomerManagementService.CallAsync((s, r) => s.UpdateUserRolesAsync(r), request));
}
static UpdateUserRolesResponse updateUserRoles(
java.lang.Long customerId,
java.lang.Long userId,
int newRoleId,
ArrayOflong newAccountIds,
ArrayOflong newCustomerIds,
int deleteRoleId,
ArrayOflong deleteAccountIds,
ArrayOflong deleteCustomerIds) throws RemoteException, Exception
{
UpdateUserRolesRequest request = new UpdateUserRolesRequest();
request.setCustomerId(customerId);
request.setUserId(userId);
request.setNewRoleId(newRoleId);
request.setNewAccountIds(newAccountIds);
request.setNewCustomerIds(newCustomerIds);
request.setDeleteRoleId(deleteRoleId);
request.setDeleteAccountIds(deleteAccountIds);
request.setDeleteCustomerIds(deleteCustomerIds);
return CustomerManagementService.getService().updateUserRoles(request);
}
static function UpdateUserRoles(
$customerId,
$userId,
$newRoleId,
$newAccountIds,
$newCustomerIds,
$deleteRoleId,
$deleteAccountIds,
$deleteCustomerIds)
{
$GLOBALS['Proxy'] = $GLOBALS['CustomerManagementProxy'];
$request = new UpdateUserRolesRequest();
$request->CustomerId = $customerId;
$request->UserId = $userId;
$request->NewRoleId = $newRoleId;
$request->NewAccountIds = $newAccountIds;
$request->NewCustomerIds = $newCustomerIds;
$request->DeleteRoleId = $deleteRoleId;
$request->DeleteAccountIds = $deleteAccountIds;
$request->DeleteCustomerIds = $deleteCustomerIds;
return $GLOBALS['CustomerManagementProxy']->GetService()->UpdateUserRoles($request);
}
response=customermanagement_service.UpdateUserRoles(
CustomerId=CustomerId,
UserId=UserId,
NewRoleId=NewRoleId,
NewAccountIds=NewAccountIds,
NewCustomerIds=NewCustomerIds,
DeleteRoleId=DeleteRoleId,
DeleteAccountIds=DeleteAccountIds,
DeleteCustomerIds=DeleteCustomerIds)
註解
例如,如果廣告營銷活動經理僅限於管理帳戶 123、456 和 789,而且您不想再讓使用者管理 456,請據此設定下列元素:
將 NewRoleId 元素設定為 16 (廣告營銷活動經理角色) 。
將 NewAccountIds 元素設定為包含 123 和 789 的數位。
將 DeleteRoleId 元素設定為 16 (廣告營銷活動管理員角色) 。
將 DeleteAccountIds 元素設定為包含 456 的陣列。
如果廣告行銷活動管理員僅限於管理帳戶 123 和 789,而且您現在想要讓使用者管理所有帳戶,請據以設定下列元素:
將 NewRoleId 元素設定為 16 (廣告營銷活動經理角色) 。
將 NewAccountIds 元素設定為 NULL。
將 DeleteRoleId 元素設定為 16 (廣告營銷活動管理員角色) 。
將 DeleteAccountIds 元素設定為包含 123、456 和 789 的陣列。
具有帳戶層級角色的使用者可以限制為特定帳戶。 具有客戶層級角色的使用者可以存取用戶客戶內的所有帳戶,而且其存取權不能限製為特定帳戶。
注意事項
嘗試將客戶層級使用者角色限制為特定帳戶時, UpdateUserRoles 作業不會失敗,而且使用者會保留使用者客戶內所有帳戶的存取權。
需求
服務: CustomerManagementService.svc v13
命名空間: https://bingads.microsoft.com/Customer/v13
要求 URL
要求專案
UpdateUserRolesRequest 物件會定義服務作業要求的主體和標頭元素。
注意事項
除非下面另有說明,否則所有要求專案都是必要的。
要求本文專案
元素 | 描述 | 資料類型 |
---|---|---|
CustomerId | 用戶所屬客戶的標識碼。 | 長 |
DeleteAccountIds | 要從使用者可以管理的帳戶清單中移除的帳戶標識元陣列。 如需使用方式,請參閱下方的一節。 |
long 陣列 |
DeleteCustomerIds | 要從使用者可管理的客戶清單中移除的客戶標識子陣列。 如需使用方式,請參閱下方的一節。 |
long 陣列 |
DeleteRoleId | 如果已設定,則為 DeleteAccountIds 或 DeleteCustomerIds 元素中所指定值所套用之角色的標識碼。 可能的值包括下列各項: 16 - 使用者具有 廣告營銷活動管理員 角色。 33 - 使用者具有 匯總工具 角色。 41 - 使用者具有超級 管理員 角色。 100 - 使用者具有 查看器 角色。 203 - 使用者具有 Standard 使用者角色。 如需詳細資訊,請參閱 使用者角色 技術指南。 重要:上述清單提供可能傳回值的範例。 可能會傳回其他值。 已淘汰或內部角色可以包含在回應中。 |
int |
NewAccountIds | 要限制使用者的帳戶標識碼數位。 使用者只能管理這些帳戶。 如果使用者目前僅限於一組帳戶,請將此元素設定為您希望使用者也管理的新帳戶。 例如,如果使用者目前管理帳戶 123 和 456,而且您希望使用者也管理帳戶 789,請將此元素設定為 789。 如需使用方式,請參閱下方的一節。 |
long 陣列 |
NewCustomerIds | 要限制使用者的客戶識別碼陣列。 使用者只能管理這些客戶。 如需使用方式,請參閱下方的一節。 |
long 陣列 |
NewRoleId | 如果已設定,則為 NewAccountIds 或 NewCustomerIds 元素中所指定值適用的角色識別碼。 可能的值包括下列各項: 16 - 使用者具有 廣告營銷活動管理員 角色。 33 - 使用者具有 匯總工具 角色。 41 - 使用者具有超級 管理員 角色。 100 - 使用者具有 查看器 角色。 203 - 使用者具有 Standard 使用者角色。 如需詳細資訊,請參閱 使用者角色 技術指南。 重要:上述清單提供可能傳回值的範例。 可能會傳回其他值。 已淘汰或內部角色可以包含在回應中。 |
int |
UserId | 您想要更新其角色之使用者的識別碼。 | 長 |
要求標頭元素
元素 | 描述 | 資料類型 |
---|---|---|
授權 | OAuth 存取令牌,代表有權Microsoft Advertising 帳戶之用戶的認證。 請確定令牌前面加上 「Bearer」 ,這是正確驗證的必要專案。 如需詳細資訊,請 參閱使用 OAuth 進行驗證。 |
string |
DeveloperToken | 用來存取 Bing 廣告 API 的開發人員令牌。 如需詳細資訊 ,請參閱取得開發人員令牌。 |
string |
密碼 | 此元素會保留供內部使用,並會從未來的 API 版本中移除。 您必須使用 AuthenticationToken 元素來設定用戶認證。 | string |
UserName | 此元素會保留供內部使用,並會從未來的 API 版本中移除。 您必須使用 AuthenticationToken 元素來設定用戶認證。 | string |
Response 元素
UpdateUserRolesResponse 物件會定義服務作業響應的主體和標頭元素。 這些元素的傳回順序與 回應 JSON 中所示的順序相同。
回應本文專案
元素 | 描述 | 資料類型 |
---|---|---|
LastModifiedTime | 上次更新使用者角色的日期和時間。 值為國際標準時間 (UTC)。 日期和時間值會反映伺服器上的日期和時間,而不是用戶端。 如需日期和時間格式的相關信息,請參閱 基本 XML 數據類型中的 dateTime 專案。 |
dateTime |
回應標頭元素
元素 | 描述 | 資料類型 |
---|---|---|
TrackingId | 包含 API 呼叫詳細數據的記錄項目識別碼。 | string |
要求 JSON
此範本是由工具所產生,用來顯示 JSON 要求的 主體 和 標頭 元素。 如需可搭配此服務作業使用的支援類型,請參閱上述 的要求本文項目 參考。
{
"CustomerId": "LongValueHere",
"UserId": "LongValueHere",
"NewRoleId": IntValueHere,
"NewAccountIds": [
"LongValueHere"
],
"NewCustomerIds": [
"LongValueHere"
],
"DeleteRoleId": IntValueHere,
"DeleteAccountIds": [
"LongValueHere"
],
"DeleteCustomerIds": [
"LongValueHere"
]
}
回應 JSON
此範本是由工具所產生,用來顯示 JSON 回應的 主體 和 標頭 元素。
{
"LastModifiedTime": "ValueHere"
}
程序代碼語法
若要透過 SDK 呼叫 REST API,您必須將 SDK 升級至特定版本並設定系統參數。範例語法可以與 Bing 廣告 SDK 搭配使用。 如需更多範例,請參閱 Bing 廣告 API 程式代碼範 例。
public async Task<UpdateUserRolesResponse> UpdateUserRolesAsync(
long customerId,
long userId,
int? newRoleId,
IList<long> newAccountIds,
IList<long> newCustomerIds,
int? deleteRoleId,
IList<long> deleteAccountIds,
IList<long> deleteCustomerIds)
{
var request = new UpdateUserRolesRequest
{
CustomerId = customerId,
UserId = userId,
NewRoleId = newRoleId,
NewAccountIds = newAccountIds,
NewCustomerIds = newCustomerIds,
DeleteRoleId = deleteRoleId,
DeleteAccountIds = deleteAccountIds,
DeleteCustomerIds = deleteCustomerIds
};
return (await CustomerManagementService.CallAsync((s, r) => s.UpdateUserRolesAsync(r), request));
}
static UpdateUserRolesResponse updateUserRoles(
java.lang.Long customerId,
java.lang.Long userId,
int newRoleId,
ArrayOflong newAccountIds,
ArrayOflong newCustomerIds,
int deleteRoleId,
ArrayOflong deleteAccountIds,
ArrayOflong deleteCustomerIds) throws RemoteException, Exception
{
UpdateUserRolesRequest request = new UpdateUserRolesRequest();
request.setCustomerId(customerId);
request.setUserId(userId);
request.setNewRoleId(newRoleId);
request.setNewAccountIds(newAccountIds);
request.setNewCustomerIds(newCustomerIds);
request.setDeleteRoleId(deleteRoleId);
request.setDeleteAccountIds(deleteAccountIds);
request.setDeleteCustomerIds(deleteCustomerIds);
return CustomerManagementService.getService().updateUserRoles(request);
}
static function UpdateUserRoles(
$customerId,
$userId,
$newRoleId,
$newAccountIds,
$newCustomerIds,
$deleteRoleId,
$deleteAccountIds,
$deleteCustomerIds)
{
$GLOBALS['Proxy'] = $GLOBALS['CustomerManagementProxy'];
$request = new UpdateUserRolesRequest();
$request->CustomerId = $customerId;
$request->UserId = $userId;
$request->NewRoleId = $newRoleId;
$request->NewAccountIds = $newAccountIds;
$request->NewCustomerIds = $newCustomerIds;
$request->DeleteRoleId = $deleteRoleId;
$request->DeleteAccountIds = $deleteAccountIds;
$request->DeleteCustomerIds = $deleteCustomerIds;
return $GLOBALS['CustomerManagementProxy']->GetService()->UpdateUserRoles($request);
}
response=customermanagement_service.UpdateUserRoles(
CustomerId=CustomerId,
UserId=UserId,
NewRoleId=NewRoleId,
NewAccountIds=NewAccountIds,
NewCustomerIds=NewCustomerIds,
DeleteRoleId=DeleteRoleId,
DeleteAccountIds=DeleteAccountIds,
DeleteCustomerIds=DeleteCustomerIds)
註解
例如,如果廣告營銷活動經理僅限於管理帳戶 123、456 和 789,而且您不想再讓使用者管理 456,請據此設定下列元素:
將 NewRoleId 元素設定為 16 (廣告營銷活動經理角色) 。
將 NewAccountIds 元素設定為包含 123 和 789 的數位。
將 DeleteRoleId 元素設定為 16 (廣告營銷活動管理員角色) 。
將 DeleteAccountIds 元素設定為包含 456 的陣列。
如果廣告行銷活動管理員僅限於管理帳戶 123 和 789,而且您現在想要讓使用者管理所有帳戶,請據以設定下列元素:
將 NewRoleId 元素設定為 16 (廣告營銷活動經理角色) 。
將 NewAccountIds 元素設定為 NULL。
將 DeleteRoleId 元素設定為 16 (廣告營銷活動管理員角色) 。
將 DeleteAccountIds 元素設定為包含 123、456 和 789 的陣列。
具有帳戶層級角色的使用者可以限制為特定帳戶。 具有客戶層級角色的使用者可以存取用戶客戶內的所有帳戶,而且其存取權不能限製為特定帳戶。
注意事項
嘗試將客戶層級使用者角色限制為特定帳戶時, UpdateUserRoles 作業不會失敗,而且使用者會保留使用者客戶內所有帳戶的存取權。