Verwalten Sie Cloud-Anchors außerhalb Ihrer ARCore-App mit der ARCore Cloud Anchor Management API.
Erste Schritte
Beispielvorgänge
- Alle Cloud-Anchors auflisten
- Gültigkeitsdauer eines Cloud-Ankers entsprechend der maximal zulässigen Gültigkeitsdauer aktualisieren
- Cloud-Anchors löschen
Autorisierung
Erstellen Sie in der Google Cloud Platform Console einen Dienstkontoschlüssel und generieren Sie ein OAuth2-Token, um Cloud Anchor Management API-Aufrufe zu autorisieren.
Klicken Sie im Navigationsmenü der Google Cloud Platform Console auf APIs & Services > Credentials.
Wählen Sie das gewünschte Projekt aus und klicken Sie auf Create Credentials > Service account.
Geben Sie unter Service account details einen Namen für das neue Konto ein und klicken Sie dann auf Create.
Öffnen Sie auf der Seite Service account permissions das Drop-down-Menü Select a role. Wählen Sie Service Accounts > Service Account Token Creator aus und klicken Sie dann auf Continue.
Klicken Sie auf der Seite Grant users access to this service account auf Done. Dadurch gelangen Sie zurück zu APIs & Services > Credentials.
Scrollen Sie auf der Seite Credentials nach unten zum Abschnitt Service Accounts und klicken Sie auf den Namen des gerade erstellten Kontos.
Scrollen Sie auf der Seite Service account details nach unten zum Abschnitt Keys und wählen Sie Add Key > Create new key aus.
Wählen Sie als Schlüsseltyp JSON aus und klicken Sie auf Create. Dadurch wird eine JSON-Datei mit dem privaten Schlüssel auf Ihren Computer heruntergeladen. Speichern Sie die heruntergeladene JSON-Schlüsseldatei an einem sicheren Ort.
OAuth2-Token generieren
arcore.management
ist der OAuth-Bereich für die Cloud Anchors Management API. Standardmäßig arbeitet oauth2l mit einem Token-Cache. Mit dem Befehl fetch
wird dasselbe Token abgerufen. Verwenden Sie oauth2l, um ein OAuth2-Token für die Autorisierung zu generieren:
oauth2l fetch --json creds.json arcore.management
Fügen Sie dem Befehl fetch
die Option --cache=""
hinzu, um ein neues Token zu generieren.
oauth2l fetch --cache="" --json creds.json arcore.management
Alternativ können Sie oauth2l reset
aufrufen und den Befehl fetch
noch einmal aufrufen.
oauth2l reset
oauth2l fetch --json creds.json arcore.management
Alle Cloud-Anchors auflisten
Rufen Sie die erste Seite von Cloud-Ankern ab, die optional nach expire_time
, create_time
oder last_localize_time
sortiert werden kann.
Anfrage:
export BEARER_TOKEN=`(oauth2l fetch --json creds.json arcore.management)`
curl -H "Authorization: Bearer $BEARER_TOKEN" \
"https://arcore.googleapis.com/v1beta2/management/anchors?page_size=50&order_by=last_localize_time%20desc"
Antwort:
{
"anchors": [
{
"name": "anchors/ua-a1cc84e4f11b1287d289646811bf54d1",
"createTime": "...",
"expireTime": "...",
"lastLocalizeTime": "...",
"maximumExpireTime": "..."
},
…
{
"name": "anchors/ua-41a3d0233471917875159f6f3c25ea0e",
"createTime": "...",
"expireTime": "...",
"lastLocalizeTime": "...",
"maximumExpireTime": "..."
}
],
nextPageToken: "some-long-string"
}
Wenn die Antwort nextPageToken
zurückgibt, müssen weitere Anker aufgelistet werden. Verwenden Sie den Abfrageparameter next_page_token
in der nächsten Anfrage, um die nächsten Ergebnisse abzurufen.
Anfrage:
curl -H "Authorization: Bearer $BEARER_TOKEN" \
"https://arcore.googleapis.com/v1beta2/management/anchors?page_size=50&order_by=last_localize_time%20desc&next_page_token=your-next-page-token-here"
Wenn Sie next_page_token
verwenden, müssen page_size
und order_by
in allen Anfragen einheitlich sein. page_size
ist standardmäßig auf 1000
und order_by
auf expire_time_desc
.
Gültigkeitsdauer eines Cloud-Ankers auf die maximal zulässige Gültigkeitsdauer aktualisieren
Fordern Sie einen einzelnen Cloud-Anker an, um lastLocalizeTime
und maximumExpireTime
abzufragen.
Anfrage:
export BEARER_TOKEN=`(oauth2l fetch --json creds.json arcore.management)`
curl -H "Authorization: Bearer $BEARER_TOKEN" \
"https://arcore.googleapis.com/v1beta2/management/anchors/your-anchor-id-here"
Antwort:
{
"name": "anchors/ua-f21be53fd8ea57f0169c69fbf827f6b7",
"createTime": "2020-06-29T21:00:00Z",
"expireTime": "2020-08-28T22:00:00Z",
"lastLocalizeTime": "2020-06-29T21:00:00Z",
"maximumExpireTime": "2021-06-29T21:00:00Z"
}
Sobald du den Anker hast, ändere sein expireTime
in seine maximumExpireTime
.
Anfrage:
curl -H "Authorization: Bearer $BEARER_TOKEN" -H "Content-Type: application/json" -X "PATCH" \
"https://arcore.googleapis.com/v1beta2/management/anchors/your-anchor-id-here?updateMask=expire_time" \
-d '{ expireTime: "2021-06-29T21:00:00Z" }'
Antwort:
{
"name": "anchors/ua-f21be53fd8ea57f0169c69fbf827f6b7",
"createTime": "2020-06-29T21:00:00Z",
"expireTime": "2021-06-29T21:00:00Z",
"lastLocalizeTime": "2020-06-29T21:00:00Z",
"maximumExpireTime": "2021-06-29T21:00:00Z"
}
Cloud-Anker löschen
Löschen Sie einen einzelnen Cloud-Anker:
export BEARER_TOKEN=`(oauth2l fetch --json creds.json arcore.management)`
curl -H "Authorization: Bearer $BEARER_TOKEN" -X "DELETE" \
"https://arcore.googleapis.com/v1beta2/management/anchors/your-anchor-id-here"
Löschen Sie einen Batch von Cloud-Ankern:
export BEARER_TOKEN=`(oauth2l fetch --json creds.json arcore.management)`
curl -H "Authorization: Bearer $BEARER_TOKEN" -H "Content-Type: application/json" -X "POST" \
"https://arcore.googleapis.com/v1beta2/management/anchors:batchDelete" \
-d '{ names: [ "anchors/your-anchor-id-here", "anchors/your-anchor-id-here" ]}'