シークレットストア

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

Robloxは各ゲームのためにシークレットストアを提供しています。シークレットは、APIキー、パスワード、外部サービスとの認証に使用するアクセストークンなどの機密情報です。たとえば、サードパーティの分析サービスや音楽サービスに接続したい場合、認証のためにAPIキーを使用する必要があります。

APIキーをスクリプトにコピー&ペーストするか、データストアに追加することもできますが、それらの方法は不要なセキュリティリスクを伴います。より良い解決策は、シークレットストアを使用し、一連の安全な方法でキーにアクセスすることです。

シークレットの追加

シークレットを表示、作成、または編集するには、ゲームのオーナーまたはグループのオーナーである必要があります。ゲームごとに最大500のシークレットを持つことができます。

  1. ゲームを選択し、次にシークレットシークレットの作成を選択します。

  2. 名前、シークレット、適用可能なドメインを入力します。

    • 名前はシークレットの一意の識別子として機能するため、説明的なものを推奨します。
    • シークレットは最大1,024文字の長さになります。APIキーとアクセストークンはサービスプロバイダーから取得する必要がありますが、シークレットがパスワードの場合は、おそらく自分で作成したものです。
    • ドメインには、*(すべてのドメインに対しては推奨されません)や*.example.comexample.comのすべてのサブドメインに対して)などの限られたワイルドカード構文を使用できます。特定のドメインの方がさらに良いです。たとえば、my.example.comなどです。

ローカルシークレット

セキュリティ上の理由から、各ゲームのシークレットストアはライブサーバーまたは共同テスト環境でのみ利用可能です。ローカルプレイテスト中にシークレットにアクセスしようとすると、指定されたキーのシークレットが見つかりませんというエラーが発生します。クライアントスクリプトからシークレットにアクセスしようとすると、同様のエラーが発生します。

ローカルテストのためのシークレットを指定するには、Studioに移動し、次にファイルエクスペリエンス設定セキュリティに移動します。シークレットセクションで新しいシークレットを作成したり、既存のシークレットを編集または削除したりできます。

シークレットUIを使用して、シークレットの表示、作成、編集を行います。 新しいシークレットを追加。名前はsecretName1、値は123456、ドメインは*.example.comに制限されます。

シークレットの使用

ゲーム内でシークレットを使用する前に、Studioのファイルエクスペリエンス設定ウィンドウのセキュリティセクションでHTTPリクエストを許可を有効にする必要があります。次に、サーバースクリプト内でHttpService:GetSecret()を呼び出します:


local HttpService = game:GetService("HttpService")
local testSecret = HttpService:GetSecret("test_secret")

シークレットストアを使用する魅力の一部は、シークレットを誤って出力できないことです。以下のコードは、シークレットを作成する際に提供した名前を出力します。


print(testSecret) --> Secret(test_secret)

文字列を直接操作することはできません。代わりに、Secretデータ型を使用すれば、URLを形成したり、Bearerのようなコンテンツを挿入するためにシークレットにプレフィックスやサフィックスを追加できます:


local HttpService = game:GetService("HttpService")
local testSecret = HttpService:GetSecret("test_secret")
local prefix = "https://my.example.com/endpoint?apiKey="
local suffix = "&user=username"
local url = testSecret:AddPrefix(prefix)
url = url:AddSuffix(suffix)
print(url) --> https://my.example.com/endpoint?apiKey=Secret(test_secret)&user=username

シークレットが挿入されたURLができたら、HttpService:RequestAsync()などのメソッドを使用して標準のHTTPリクエストを行うことができます。もちろん、これらのメソッドを無視してヘッダーにシークレットを直接挿入することもできます。

©2026 Roblox Corporation。Roblox(ロブロックス)、RobloxロゴおよびPowering Imaginationは、米国並びにその他の国における登録商標および非登録商標です。