import java.util.List;
import me.didit.Didit;
import me.didit.types.ApplicationCreateRequest;
import me.didit.types.ApplicationDataLocation;
// Use the access token that account.login returns.
Didit client = Didit.builder().accountToken("YOUR_ACCESS_TOKEN").build();
var result = client.account().applications().create("a1b2c3d4-5678-90ab-cdef-111111111111", ApplicationCreateRequest.builder()
.name("Acme Customer App")
.websiteUrl("https://acme.example")
.redirectUris(List.of("https://acme.example/callback"))
.termsUrl("https://acme.example/terms")
.privacyUrl("https://acme.example/privacy")
.dataLocation(ApplicationDataLocation.of("eu"))
.build());
System.out.println(result);
<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Use the access token that account.login returns.
$didit = new DiditClient(accountToken: 'YOUR_ACCESS_TOKEN');
$result = $didit->account->applications->create('a1b2c3d4-5678-90ab-cdef-111111111111', [
'name' => 'Acme Customer App',
'website_url' => 'https://acme.example',
'redirect_uris' => ['https://acme.example/callback'],
'terms_url' => 'https://acme.example/terms',
'privacy_url' => 'https://acme.example/privacy',
'data_location' => 'eu',
]);
print_r($result->toArray());
require "didit"
# Use the access token that account.login returns.
didit = Didit::Client.new(account_token: "YOUR_ACCESS_TOKEN")
result = didit.account.applications.create(
"a1b2c3d4-5678-90ab-cdef-111111111111",
name: "Acme Customer App",
website_url: "https://acme.example",
redirect_uris: ["https://acme.example/callback"],
terms_url: "https://acme.example/terms",
privacy_url: "https://acme.example/privacy",
data_location: "eu"
)
puts result.to_h
using System;
using System.Text.Json;
using Didit;
// Use the access token that account.login returns.
using var client = new DiditClient(new DiditClientOptions { AccountToken = "YOUR_ACCESS_TOKEN" });
var result = await client.Account.Applications.CreateAsync("a1b2c3d4-5678-90ab-cdef-111111111111", new ApplicationCreateRequest
{
Name = "Acme Customer App",
WebsiteUrl = "https://acme.example",
RedirectUris = new string[] { "https://acme.example/callback" },
TermsUrl = "https://acme.example/terms",
PrivacyUrl = "https://acme.example/privacy",
DataLocation = new ApplicationDataLocation("eu"),
});
Console.WriteLine(JsonSerializer.Serialize(result));
import java.util.List;
import me.didit.Didit;
import me.didit.types.ApplicationCreateRequest;
import me.didit.types.ApplicationDataLocation;
// Use the access token that account.login returns.
Didit client = Didit.builder().accountToken("YOUR_ACCESS_TOKEN").build();
var result = client.account().applications().create("a1b2c3d4-5678-90ab-cdef-111111111111", ApplicationCreateRequest.builder()
.name("Acme Customer App")
.websiteUrl("https://acme.example")
.redirectUris(List.of("https://acme.example/callback"))
.termsUrl("https://acme.example/terms")
.privacyUrl("https://acme.example/privacy")
.dataLocation(ApplicationDataLocation.of("eu"))
.build());
System.out.println(result);
<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Use the access token that account.login returns.
$didit = new DiditClient(accountToken: 'YOUR_ACCESS_TOKEN');
$result = $didit->account->applications->create('a1b2c3d4-5678-90ab-cdef-111111111111', [
'name' => 'Acme Customer App',
'website_url' => 'https://acme.example',
'redirect_uris' => ['https://acme.example/callback'],
'terms_url' => 'https://acme.example/terms',
'privacy_url' => 'https://acme.example/privacy',
'data_location' => 'eu',
]);
print_r($result->toArray());
require "didit"
# Use the access token that account.login returns.
didit = Didit::Client.new(account_token: "YOUR_ACCESS_TOKEN")
result = didit.account.applications.create(
"a1b2c3d4-5678-90ab-cdef-111111111111",
name: "Acme Customer App",
website_url: "https://acme.example",
redirect_uris: ["https://acme.example/callback"],
terms_url: "https://acme.example/terms",
privacy_url: "https://acme.example/privacy",
data_location: "eu"
)
puts result.to_h
using System;
using System.Text.Json;
using Didit;
// Use the access token that account.login returns.
using var client = new DiditClient(new DiditClientOptions { AccountToken = "YOUR_ACCESS_TOKEN" });
var result = await client.Account.Applications.CreateAsync("a1b2c3d4-5678-90ab-cdef-111111111111", new ApplicationCreateRequest
{
Name = "Acme Customer App",
WebsiteUrl = "https://acme.example",
RedirectUris = new string[] { "https://acme.example/callback" },
TermsUrl = "https://acme.example/terms",
PrivacyUrl = "https://acme.example/privacy",
DataLocation = new ApplicationDataLocation("eu"),
});
Console.WriteLine(JsonSerializer.Serialize(result));
每个应用都会将其验证数据存储并处理在一个位置,即其数据位置;该位置在创建应用时通过 data_location 选择。
目前唯一可用的位置是 eu,即欧盟(爱尔兰)。若省略该字段,则默认使用此位置。
澳大利亚(悉尼,au)和墨西哥(mx)即将推出。若请求中指定这些位置,将返回 400 This data location is not available yet.,且不会创建应用。
读取应用时都会返回其 data_location,且应用创建后无法更改该位置。
详见 数据位置。