Satıcı hesabınıza kimlerin erişimi olduğunu ve bu kullanıcıların hangi erişim düzeyine sahip olduğunu kontrol etmek için Merchant Accounts API'yi kullanabilirsiniz.
User
, satıcı hesabınıza erişimi olan bir kullanıcıdır. MerchantAccounts API'yi kullanarak hesabınızdaki kullanıcıları görüntüleyebilir, ekleyebilir ve kaldırabilirsiniz.
Hesabınıza kullanıcı ekleme
Kullanıcı eklemek için accounts.users.create
yöntemini çağırın ve User
öğesinin access_rights
alanında kullanıcının erişim düzeyini belirtin.
Aşağıdaki örnek istek, STANDARD
ve PERFORMANCE_REPORTING
izinlerine sahip yeni bir kullanıcının nasıl ekleneceğini gösterir:
POST https://merchantapi.googleapis.com/accounts/v1beta/accounts/{ACCOUNT_ID}/users?userId={USER_EMAILID}
{
"accessRights": [
"STANDARD",
"PERFORMANCE_REPORTING"
],
"name": "{NAME}"
}
Aşağıdakini değiştirin:
- {ACCOUNT_ID}: Merchant Center hesabınızın benzersiz tanımlayıcısıdır.
- {USER_EMAILID}: Eklemek istediğiniz kullanıcının e-posta adresi.
- {NAME}: Kullanıcının
accounts/
{ACCOUNT_ID}/user/
{EMAIL_ADDRESS} biçimindeki kaynak adı.
İstek başarılı olduktan sonra aşağıdaki yanıt döndürülür:
{
"name": "accounts/{ACCOUNT_ID}/users/{USER_EMAILID}",
"state": "PENDING",
"accessRights": [
"STANDARD",
"PERFORMANCE_REPORTING"
]
}
Bu istek, yeni kullanıcıyla ilişkili Google Hesabı'na bir davetiye gönderir. Kullanıcının hesabınızın üyesi olarak kabul edilmesi için bu davetiyenin kabul edilmesi gerekir.
Aşağıdaki örnekte, hesabınıza kullanıcı eklemek için CreateUserRequest
yöntemini nasıl kullanabileceğiniz gösterilmektedir.
Java
public static void createUser(Config config, String email) throws Exception {
// Obtains OAuth token based on the user's configuration.
GoogleCredentials credential = new Authenticator().authenticate();
// Creates service settings using the credentials retrieved above.
UserServiceSettings userServiceSettings =
UserServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(credential))
.build();
// Creates parent to identify where to insert the user.
String parent = getParent(config.getAccountId().toString());
// Calls the API and catches and prints any network failures/errors.
try (UserServiceClient userServiceClient = UserServiceClient.create(userServiceSettings)) {
CreateUserRequest request =
CreateUserRequest.newBuilder()
.setParent(parent)
// This field is the email address of the user.
.setUserId(email)
.setUser(
User.newBuilder()
.addAccessRights(AccessRight.ADMIN)
.addAccessRights(AccessRight.PERFORMANCE_REPORTING)
.build())
.build();
System.out.println("Sending Create User request");
User response = userServiceClient.createUser(request);
System.out.println("Inserted User Name below");
// The last part of the user name will be the email address of the user.
// Format: `accounts/{account}/user/{user}`
System.out.println(response.getName());
} catch (Exception e) {
System.out.println(e);
}
}
Hesabınıza erişimi olan kullanıcıları görüntüleme
Hesabınıza erişimi olan tüm kullanıcıları görüntülemek için accounts.users.list
yöntemini kullanın.
Aşağıdaki örnekte, belirli bir hesaptaki tüm kullanıcıları listelemek için ListUsersRequest
yöntemini nasıl kullanabileceğiniz gösterilmektedir.
Java
public static void listUsers(Config config) throws Exception {
// Obtains OAuth token based on the user's configuration.
GoogleCredentials credential = new Authenticator().authenticate();
// Creates service settings using the credentials retrieved above.
UserServiceSettings userServiceSettings =
UserServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(credential))
.build();
// Creates parent to identify the account from which to list all users.
String parent = getParent(config.getAccountId().toString());
// Calls the API and catches and prints any network failures/errors.
try (UserServiceClient userServiceClient = UserServiceClient.create(userServiceSettings)) {
// The parent has the format: accounts/{account}
ListUsersRequest request = ListUsersRequest.newBuilder().setParent(parent).build();
System.out.println("Sending list users request:");
ListUsersPagedResponse response = userServiceClient.listUsers(request);
int count = 0;
// Iterates over all rows in all pages and prints the user
// in each row.
// `response.iterateAll()` automatically uses the `nextPageToken` and recalls the
// request to fetch all pages of data.
for (User element : response.iterateAll()) {
System.out.println(element);
count++;
}
System.out.print("The following count of elements were returned: ");
System.out.println(count);
} catch (Exception e) {
System.out.println(e);
}
}
Belirli bir hesap için tek bir kullanıcıyı alma
Aşağıdaki örnekte, belirli bir hesaptaki bir kullanıcıyı almak için GetUserRequest
yöntemini nasıl kullanabileceğiniz gösterilmektedir.
Java
public static void getUser(Config config, String email) throws Exception {
// Obtains OAuth token based on the user's configuration.
GoogleCredentials credential = new Authenticator().authenticate();
// Creates service settings using the credentials retrieved above.
UserServiceSettings userServiceSettings =
UserServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(credential))
.build();
// Creates user name to identify user.
String name =
UserName.newBuilder()
.setAccount(config.getAccountId().toString())
.setEmail(email)
.build()
.toString();
// Calls the API and catches and prints any network failures/errors.
try (UserServiceClient userServiceClient = UserServiceClient.create(userServiceSettings)) {
// The name has the format: accounts/{account}/users/{email}
GetUserRequest request = GetUserRequest.newBuilder().setName(name).build();
System.out.println("Sending Get user request:");
User response = userServiceClient.getUser(request);
System.out.println("Retrieved User below");
System.out.println(response);
} catch (Exception e) {
System.out.println(e);
}
}
Belirli bir hesaptan kullanıcı kaldırma
Bir kullanıcıyı hesabınızdan kaldırmak için accounts.users.delete
yöntemini kullanarak istek gönderin.
Aşağıdaki örnekte, bir kullanıcıyı belirli bir hesaptan kaldırmak için DeleteUserRequest
yöntemini nasıl kullanabileceğiniz gösterilmektedir.
Java
public static void deleteUser(Config config, String email) throws Exception {
// Obtains OAuth token based on the user's configuration.
GoogleCredentials credential = new Authenticator().authenticate();
// Creates service settings using the credentials retrieved above.
UserServiceSettings userServiceSettings =
UserServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(credential))
.build();
// Creates user name to identify the user.
String name =
UserName.newBuilder()
.setAccount(config.getAccountId().toString())
.setEmail(email)
.build()
.toString();
// Calls the API and catches and prints any network failures/errors.
try (UserServiceClient userServiceClient = UserServiceClient.create(userServiceSettings)) {
DeleteUserRequest request = DeleteUserRequest.newBuilder().setName(name).build();
System.out.println("Sending Delete User request");
userServiceClient.deleteUser(request); // no response returned on success
System.out.println("Delete successful.");
} catch (Exception e) {
System.out.println(e);
}
}
Kullanıcıların erişim düzeyini değiştirme
Bir kullanıcının erişim düzeyini değiştirmek için accounts.users.patch
yöntemini yeni erişim düzeyiyle çağırın.
Aşağıdaki örnekte, bir kullanıcıyı belirli bir hesabın yöneticisi yapmak için UpdateUserSample
yöntemini nasıl kullanabileceğiniz gösterilmektedir.
Java
public static void updateUser(Config config, String email, AccessRight accessRight)
throws Exception {
GoogleCredentials credential = new Authenticator().authenticate();
UserServiceSettings userServiceSettings =
UserServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(credential))
.build();
// Creates user name to identify user.
String name =
UserName.newBuilder()
.setAccount(config.getAccountId().toString())
.setEmail(email)
.build()
.toString();
// Create a user with the updated fields.
User user = User.newBuilder().setName(name).addAccessRights(accessRight).build();
FieldMask fieldMask = FieldMask.newBuilder().addPaths("access_rights").build();
try (UserServiceClient userServiceClient = UserServiceClient.create(userServiceSettings)) {
UpdateUserRequest request =
UpdateUserRequest.newBuilder().setUser(user).setUpdateMask(fieldMask).build();
System.out.println("Sending Update User request");
User response = userServiceClient.updateUser(request);
System.out.println("Updated User Name below");
System.out.println(response.getName());
} catch (Exception e) {
System.out.println(e);
}
}
Süper yönetici, yönetici ve standart erişim karşılaştırması
İşletme Yöneticisi'ne süper yönetici erişimi olan kullanıcılar Merchant Center'dan kaldırılamaz. Süper yönetici erişimi hakkında daha fazla bilgi için İşletmenizi süper yönetici olarak yönetme başlıklı makaleyi inceleyin.
Hesap verilerini yazan yöntemler gibi bazı yöntemler yönetici erişimi gerektirir. Her yöntem için gerekli erişim düzeyini öğrenmek üzere referans dokümanlarına bakın.
Erişim düzeyi belirtilmezse yöntemi standart erişim ile kullanabilirsiniz.
Sırada ne var?
- Alt hesaplar oluşturma ve yönetme hakkında bilgi edinin.
- Satıcı hesapları arasındaki ilişkilerin işleyiş şeklini anlamak için Hesaplar arasındaki ilişkiler başlıklı makaleyi inceleyin.