Atlas Device SDK は非推奨です。 詳細については、 の
廃止ページ を参照してください。
アプリケーション ユーザーは、SDK を使用してユーザー API キーを生成できます。 各デバイスまたはサービスに一意のユーザー API キーを関連付けるため、デバイスやサービスがユーザーに代わって Realm と通信できるようにできます。
ユーザー API キーは、常に別の非匿名認証プロバイダーによって作成されたユーザー オブジェクトに常に関連付けられます。 各ユーザーは、最大 20 個のユーザー キーを自身のアカウントに関連付けることができます。
新しいユーザー API キーを作成するには、ログインしたユーザーの apiKeyAuth インスタンスの create () メソッドまたは createAsync() メソッドを呼び出します。ユーザー API キーはログイン ユーザーに関連付けられ、ユーザーに代わって Realm を操作するために使用できます。 You cannot create user API keys for anonymous users.
警告 API キー値の保存 SDK は、作成時にのみユーザー API キーの値を返します。 key
の値を安全に保存し、この値を使用してログインできるようにします。
key
の値を失うか保存しない場合、回復する方法はありません。 新しいユーザー API キーを作成する必要があります。
User user = app.currentUser();user.getApiKeys().createAsync("Name-of-the-API-Key" , result -> { if (result.isSuccess()) { Log.v("EXAMPLE" , "Successfully created API key: " + result.get().getValue()); } else { Log.e("EXAMPLE" , "Error creating API key: " + result.getError().getErrorMessage()); } });
val user = app.currentUser()user!!.apiKeys.createAsync("Name-of-the-API-Key" ) { result -> if (result.isSuccess) { Log.v("EXAMPLE" , "Successfully created API key: ${result.get().value} " ) } else { Log.e("EXAMPLE" , "Error creating API key: ${result.error} " ) } }
ログイン ユーザーに関連付けられているすべてのユーザー API キーのリストを取得するには、ログインユーザーの ApiKeyAuth インスタンスの同期 fetchAll() メソッドまたは非同期 fetchAll() メソッドを呼び出します。
User user = app.currentUser();user.getApiKeys().fetchAll(result -> { if (result.isSuccess()) { Log.v("EXAMPLE" , "Successfully fetched API keys: " + Arrays.toString(result.get().toArray())); } else { Log.e("EXAMPLE" , "Error fetching API keys: " + result.getError().getErrorMessage()); } });
val user = app.currentUser()user!!.apiKeys .fetchAll { result -> if (result.isSuccess) { Log.v("EXAMPLE" , "Successfully fetched API keys: ${result.get().toTypedArray()} " ) } else { Log.e("EXAMPLE" , "Error fetching API keys: ${result.error} " ) } }
ログインしたユーザーの特定のユーザー API キーを検索するには、キーの ID をログイン ユーザーの ApiKeyAuth インスタンスの fetch () メソッドまたは fetchAsync() メソッドに渡します。
User user = app.currentUser();user.getApiKeys().fetchAsync(api_key_id, result -> { if (result.isSuccess()) { Log.v("EXAMPLE" , "Successfully fetched API key: " + result.get()); } else { Log.e("EXAMPLE" , "Error fetching API key: " + result.getError().getErrorMessage()); } });
val user = app.currentUser()user!!.apiKeys.fetchAsync(api_key_id) { result -> if (result.isSuccess) { Log.v("EXAMPLE" , "Successfully fetched API key: ${result.get()} " ) } else { Log.e("EXAMPLE" , "Error fetching API key: ${result.error} " ) } }
特定のユーザー API キーを削除せずに無効にするには、キーの ID を ログインしたユーザーの ApiKeyAuth インスタンスの disable () メソッドまたは disableAsync() メソッドに渡します。
User user = app.currentUser();user.getApiKeys().disableAsync(api_key_id, result -> { if (result.isSuccess()) { Log.v("EXAMPLE" , "Successfully disabled API key." ); } else { Log.e("EXAMPLE" , "Error disabling API key: " + result.getError().getErrorMessage()); } });
val user = app.currentUser()user!!.apiKeys.disableAsync(api_key_id) { result -> if (result.isSuccess) { Log.v("EXAMPLE" , "Successfully disabled API key." ) } else { Log.e("EXAMPLE" , "Error disabling API key: ${result.error} " ) } }
以前に無効にした特定のユーザー API キーを有効にするには、キーの ID をログイン ユーザーの ApiKeyAuth インスタンスの enable () メソッドまたは enableAsync() メソッドに渡します。
User user = app.currentUser();user.getApiKeys().enableAsync(api_key_id, result -> { if (result.isSuccess()) { Log.v("EXAMPLE" , "Successfully enabled API key." ); } else { Log.e("EXAMPLE" , "Error fetching API key: " + result.getError().getErrorMessage()); } });
val user = app.currentUser()user!!.apiKeys.enableAsync(api_key_id) { result -> if (result.isSuccess) { Log.v("EXAMPLE" , "Successfully enabled API key." ) } else { Log.e("EXAMPLE" , "Error fetching API key: ${result.error} " ) } }
特定のユーザー API キーを永続的に削除するには、キーの ID をログインユーザーの ApiKeyAuth インスタンスの delete () メソッドまたは deleteAsync() メソッドに渡します。
User user = app.currentUser();user.getApiKeys().deleteAsync(api_key_id, result -> { if (result.isSuccess()) { Log.v("EXAMPLE" , "Successfully deleted API key." ); } else { Log.e("EXAMPLE" , "Error deleting API key: " + result.getError().getErrorMessage()); } });
val user = app.currentUser()user!!.apiKeys.deleteAsync(api_key_id) { result -> if (result.isSuccess) { Log.v("EXAMPLE" , "Successfully deleted API key." ) } else { Log.e("EXAMPLE" , "Error deleting API key: ${result.error} " ) } }