您可以使用下列方法變更 ClientUser 的 state。
state會在使用者接受邀請後,自動為新的 ClientUser 資源設為 ACTIVE。您可以針對特定ClientUser將 state 設為 INACTIVE,撤銷個別使用者對 Authorized Buyers Marketplace 使用者介面的存取權。
停用
您可以使用 buyers.clients.users.deactivate 方法停用 ClientUser。
舉例來說,您可以使用 deactivate 暫時撤銷特定客戶底下個別使用者的 Authorized Buyers Marketplace 使用者介面存取權,並在日後還原。如要永久撤銷存取權,請使用 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 暫時撤銷個別使用者對授權買方市集使用者介面的存取權,可以使用 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); } }