您可以使用以下方法更改 state 的
ClientUser。
新 ClientUser 资源接受邀请后,state 会自动设置为 ACTIVE。您可以将给定 ClientUser 的
state 设置为 INACTIVE,以撤消该个人对 Authorized Buyers 市场界面 (Marketplace UI) 的访问权限。
停用
您可以使用
buyers.clients.users.deactivate
方法停用ClientUser。
例如,您可以使用 deactivate 暂时撤消给定客户下的个人对 Authorized Buyers 市场界面 (Marketplace UI)
的访问权限,并可能会在将来恢复该权限。如需永久撤消访问权限,请使用
buyers.clients.users.delete。
以下示例演示了如何使用 deactivate 方法停用 ClientUser。
REST
请求
POST https://authorizedbuyersmarketplace.googleapis.com/v1/buyers/12345678/clients/873721984/users/4573644:deactivate?alt=json Authorization: Bearer ACCESS_TOKEN Content-Type: application/json
响应
{
"name": "buyers/12345678/clients/873721984/users/4573644",
"state": "INACTIVE",
"email": "jessie@luxurymarscruises.mars"
}Java
/* * Copyright 2022 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.google.api.services.samples.authorizedbuyers.marketplace.v1.buyers.clients.users; import com.google.api.services.authorizedbuyersmarketplace.v1.AuthorizedBuyersMarketplace; import com.google.api.services.authorizedbuyersmarketplace.v1.model.ClientUser; import com.google.api.services.authorizedbuyersmarketplace.v1.model.DeactivateClientUserRequest; import com.google.api.services.samples.authorizedbuyers.marketplace.v1.Utils; import java.io.IOException; import java.security.GeneralSecurityException; import net.sourceforge.argparse4j.ArgumentParsers; import net.sourceforge.argparse4j.inf.ArgumentParser; import net.sourceforge.argparse4j.inf.ArgumentParserException; import net.sourceforge.argparse4j.inf.Namespace; /** * This sample illustrates how to deactivate a client user for the given buyer, client, and user ID. * * <p>Deactivating a client user allows one to temporarily remove a given client user from accessing * the Authorized Buyers UI on behalf of a client. Access can be restored by calling * buyers.clients.users.activate. * * <p>Note that a client user in the "INVITED" state can not be deactivated, and attempting to * deactivate it will result in an error response. */ public class DeactivateClientUsers { public static void execute(AuthorizedBuyersMarketplace marketplaceClient, Namespace parsedArgs) { Long accountId = parsedArgs.getLong("account_id"); Long clientId = parsedArgs.getLong("client_id"); Long clientUserId = parsedArgs.getLong("client_user_id"); String name = String.format("buyers/%d/clients/%d/users/%d", accountId, clientId, clientUserId); ClientUser clientUser = null; try { clientUser = marketplaceClient .buyers() .clients() .users() .deactivate(name, new DeactivateClientUserRequest()) .execute(); } catch (IOException ex) { System.out.printf("Marketplace API returned error response:%n%s", ex); System.exit(1); } System.out.printf("Deactivated client user with name \"%s\":%n", name); Utils.printClientUser(clientUser); } public static void main(String[] args) { ArgumentParser parser = ArgumentParsers.newFor("DeactivateClientUsers") .build() .defaultHelp(true) .description(("Deactivate a client user with the given buyer, client, and user ID.")); parser .addArgument("-a", "--account_id") .help( "The resource ID of the buyers resource under which the parent client was created. " + "This will be used to construct the name used as a path parameter for the " + "users.deactivate request.") .required(true) .type(Long.class); parser .addArgument("-c", "--client_id") .help( "The resource ID of the buyers.clients resource under which the client user was" + " created. This will be used to construct the name used as a path parameter for" + " the users.deactivate request.") .required(true) .type(Long.class); parser .addArgument("-u", "--client_user_id") .help( "The resource ID of the buyers.clients.users resource that is being deactivated. " + "This will be used to construct the name used as a path parameter for the " + "users.deactivate request.") .required(true) .type(Long.class); Namespace parsedArgs = null; try { parsedArgs = parser.parseArgs(args); } catch (ArgumentParserException ex) { parser.handleError(ex); System.exit(1); } AuthorizedBuyersMarketplace client = null; try { client = Utils.getMarketplaceClient(); } catch (IOException ex) { System.out.printf("Unable to create Marketplace API service:%n%s", ex); System.out.println("Did you specify a valid path to a service account key file?"); System.exit(1); } catch (GeneralSecurityException ex) { System.out.printf("Unable to establish secure HttpTransport:%n%s", ex); System.exit(1); } execute(client, parsedArgs); } }
重新启用
您可以使用
buyers.clients.users.activate
方法重新启用 ClientUser。
例如,如果您使用 deactivate 暂时撤消了个人对
Authorized Buyers 市场界面 (Marketplace UI) 的访问权限,则可以使用 activate 恢复其访问权限。
以下示例演示了如何使用 activate 方法重新启用 ClientUser。
REST
请求
POST https://authorizedbuyersmarketplace.googleapis.com/v1/buyers/12345678/clients/873721984/users/4573644:activate?alt=json Authorization: Bearer ACCESS_TOKEN Content-Type: application/json
响应
{
"name": "buyers/12345678/clients/873721984/users/4573644",
"state": "ACTIVE",
"email": "jessie@luxurymarscruises.mars"
}Java
/* * Copyright 2022 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.google.api.services.samples.authorizedbuyers.marketplace.v1.buyers.clients.users; import com.google.api.services.authorizedbuyersmarketplace.v1.AuthorizedBuyersMarketplace; import com.google.api.services.authorizedbuyersmarketplace.v1.model.ActivateClientUserRequest; import com.google.api.services.authorizedbuyersmarketplace.v1.model.ClientUser; import com.google.api.services.samples.authorizedbuyers.marketplace.v1.Utils; import java.io.IOException; import java.security.GeneralSecurityException; import net.sourceforge.argparse4j.ArgumentParsers; import net.sourceforge.argparse4j.inf.ArgumentParser; import net.sourceforge.argparse4j.inf.ArgumentParserException; import net.sourceforge.argparse4j.inf.Namespace; /** * This sample illustrates how to activate a client user for the given buyer, client, and user ID. * * <p>Activated client users can access the Authorized Buyers UI on behalf of a client. * * <p>Note that a client user in the "INVITED" state can not be activated, and attempting to * activate it will result in an error response. */ public class ActivateClientUsers { public static void execute(AuthorizedBuyersMarketplace marketplaceClient, Namespace parsedArgs) { Long accountId = parsedArgs.getLong("account_id"); Long clientId = parsedArgs.getLong("client_id"); Long clientUserId = parsedArgs.getLong("client_user_id"); String name = String.format("buyers/%d/clients/%d/users/%d", accountId, clientId, clientUserId); ClientUser clientUser = null; try { clientUser = marketplaceClient .buyers() .clients() .users() .activate(name, new ActivateClientUserRequest()) .execute(); } catch (IOException ex) { System.out.printf("Marketplace API returned error response:%n%s", ex); System.exit(1); } System.out.printf("Activated client user with name \"%s\":%n", name); Utils.printClientUser(clientUser); } public static void main(String[] args) { ArgumentParser parser = ArgumentParsers.newFor("ActivateClientUsers") .build() .defaultHelp(true) .description(("Activate a client user with the given buyer, client, and user ID.")); parser .addArgument("-a", "--account_id") .help( "The resource ID of the buyers resource under which the parent client was created. " + "This will be used to construct the name used as a path parameter for the " + "users.activate request.") .required(true) .type(Long.class); parser .addArgument("-c", "--client_id") .help( "The resource ID of the buyers.clients resource under which the client user was" + " created. This will be used to construct the name used as a path parameter for" + " the users.activate request.") .required(true) .type(Long.class); parser .addArgument("-u", "--client_user_id") .help( "The resource ID of the buyers.clients.users resource that is being activated. " + "This will be used to construct the name used as a path parameter for the " + "users.activate request.") .required(true) .type(Long.class); Namespace parsedArgs = null; try { parsedArgs = parser.parseArgs(args); } catch (ArgumentParserException ex) { parser.handleError(ex); System.exit(1); } AuthorizedBuyersMarketplace client = null; try { client = Utils.getMarketplaceClient(); } catch (IOException ex) { System.out.printf("Unable to create Marketplace API service:%n%s", ex); System.out.println("Did you specify a valid path to a service account key file?"); System.exit(1); } catch (GeneralSecurityException ex) { System.out.printf("Unable to establish secure HttpTransport:%n%s", ex); System.exit(1); } execute(client, parsedArgs); } }