API Aktywów Open Cloud umożliwia wstawianie i aktualizowanie zasobów za pomocą jednego wniosku HTTP, zamiast importować je ręcznie do Studio. Ta API wspiera:
- Wstawianie nowych zasobów.
- Aktualizowanie istniejących zasobów za pomocą kontroli wersji.
- Aktualizowanie metadanych zasobów, w tym opisów, nazw wyświetlanych, ikonek i podglądów.
- Zarządzanie wersjami zasobów, takimi jak powrót do określonej poprzedniej wersji.
- Sprawdzenie obecnych informacji o zasobie, w tym metadane, wersje i wszystkie operacje aktualizacji w toku.
Wspierane rodzaje zasobów i ograniczenia
Dla końcówek, które nie tworzą nowego źródła lub nie aktualizują treści istniejącego źródła, nie ma ograniczeń i ograniczeń. Jednak treści źródła można ściągnąć tylko za pośrednictwem funkcji Utwórz stronę i Uaktualnij stronę końcówek, które działają tylko na
Typ zasobu | Format | Typ treści | Ograniczenia |
---|---|---|---|
Dźwięk |
|
|
1> Nie dostępne do aktualizacji. 1> |
Nalepka | .png > .jpeg > 0> 1> 2> .bmp2> >0> 5> 6> .tga6> >5> 9> 0> .bmp0> 9> 1> 2> | image/png > image/jpeg > 0> image/bmp0> >0> 2> 3> image/tga3> >2> 4> 5> image/bmp5> >4> 8> 9> 0> |
Niedostępne do aktualizacji. |
Model) |
|
| W zależności od swojego przypadku użycia, rozważaj wysyłanie niektórych modeli ręcznie za pomocą Importera 3D. Import 3D zapewnia podgląd 3D, różne czyszczenie błędów i wiele ustawień importowania dostosowanych. |
Wideo |
|
| Do 30 sekund trwania. Do 4096x2160 rozdzielczości. Do 375 MB. 1> Obecnie dozwolone tylko angielskie i/lub hiszpańskie audio i tekst. 1> 4> Do 3 zapisów na miesiąc, jeśli masz |
Dostępy bezpieczeństwa
API wspiera zarówno użycie pierwszej strony z użyciem autoryzacji klucza API i użycie stron trzecich w OAuth 2 applications. Każdy z tych sposobów wymaga różnych ustawień uprawnień bezpieczeństwa.
Klucze API
Aby użyć API w swoich własnych skryptach lub narzędziach, musisz Utwórz klucz API dla autoryzacji i bezpieczeństwa dla autorystacji i bezpieczeństwa. Aby zarządzać własnymi własnościami, musisz Utwórz klucz API pod swoim grupadla autorystacji i bezpieczeństwa. Aby zarządzać własnościami grupowymi, musisz Utw
Po utworzeniu klucza API nie można go zmieniać własności między osobami lub grupami, więc jeśli utworzysz klucz API pod swoim kontem, nie możesz go używać do zarządzania zasobami grupy.
Niezależnie od tego, czy tworzysz klucz API dla siebie lub swojej grupa, upewnij się, że dodałeś następujące uprawnienia:
- Dodaj zasoby do dostępnych uprawnień .
- Dodaj Czytaj i Pisać uprawnienia operacyjne do swojego wybranego doświadczenia, w zależności od wymaganego zakresu końcówek, które planujesz zadzwonić.
Kiedy masz klucz API, skopiuj go w x-api-key wniosek głównego nagłowia. Wszystkie końcowe punkty wymagają x-api-key wniosek głównego nagłowia.
Example API Request Header
--header 'x-api-key: ${ApiKey}' \
Aplikacje OAuth 2.0
Aby użyć API dla aplikacji OAuth stron trzecich, dodaj zakresy uprawnień asset:read i asset:write , gdy rejestrujesz swoją aplikację. Wybierz te zakresy w oparciu o wymagania końcówek, które planujesz użyć.
Tworzenie nowego zasobu
Aby przesłać nową zasobu za pomocą prośbaHTTP:
Kopiuj klucz API do witryny x-api-key w nagłówku witryny Utwórz zasoby.
W swoim prośba:
- Określ cel typu zasobu .
- Dodaj swoje imię i opis.
- Dodaj informacje o twórcy.
- Jeśli chcesz utworzyć zasób na swoim zleceniu , dodaj swoje ID użytkownika. Możesz znaleźć swoje ID użytkownika na URL swojego profilu Roblox. Na przykład, dla https://www.roblox.com/users/1234567/profile , twój ID użytkownika to 1234567 .
- Jeśli chcesz utworzyć zasób jako zasób grupy , dodaj ID grupy swojej grupa. Możesz znaleźć ID grupy na stronie URL swojej grupa. Na przykład, dla https://www.roblox.com/groups/7654321/example-group#!/ , identyfikator grupy to 7654321 .
- Dodaj ścieżkę pliku i typ treści swojego zasobu.
Example Request for Create Assetcurl --location 'https://apis.roblox.com/assets/v1/assets' \--header 'x-api-key: ${ApiKey}' \--form 'request="{\"assetType\": \"Model\",\"displayName\": \"Name\",\"description\": \"This is a description\",\"creationContext\": {\"creator\": {\"userId\": \"${userId}\" # Użyj grup ID, aby utworzyć zasób grupy}}}"' \--form 'fileContent=@"/filepath/model.fbx";type=model/fbx'
Aktualizowanie istniejącego zasobu
Aby aktualizować istniejące zasoby za pomocą prośbaHTTP:
- Kopiuj klucz API do wysokowątku x-api-key w nagłówku wysokowątku Aktualizuj zasoby
- Dodaj typ zasobu i jego ID w swoim prośba. Aby skopiować swoje ID zasobu:
- Przejdź do strony Tworzenie na Panelu twórcy.
- Wybierz kategoria Rozwój przedmiotów .
- Wybierz kategorię swojego zasobu i znajdź celowy zasób.
- Przytrzymajте nad miniaturą celu i kliknijте przycisk ⋯ , aby wyświetlić listę opcji, a następnie wybierz Kopieren ID z listy.
Example Request for Updating Asset Content
curl --location --request PATCH 'https://apis.roblox.com/assets/v1/assets/{assetId}' \--header 'x-api-key: {apiKey}' \--form 'request={\"assetType\": \"{assetType}\",\"assetId\": \"{assetId}\",\"creationContext\": {\"creator\": {\"userId\": {userId}},\"expectedPrice\":{expectedPrice}},}' \--form 'fileContent=@"{file-path}"'
Odzyskanie statusu operacji zasobu
Jeśli twój wniosek o stworzenie nowego zasobu lub aktualizację istniejącego zasobu powoduje sukces, to zwraca Operator ID w formie { "path": "operations/${operationId}" } . Możesz użyć go do sprawdzenia statusu i wyniku twojego wstawienia za pomocą następujących kroków:
Kopiuj klucz API do wniosek x-api-key w nagłówku wysyłania metody Zdobądź operację i wysyłaj prośba, jak następujący przykład kodu:
Example Request for Get Operationcurl --location 'https://apis.roblox.com/assets/v1/operations/{operationId}' \--header 'x-api-key: {$ApiKey}'Jeśli twoja prośba się powiodła, zwraca ona obiekt Operation, w tym włączone response, przedstawiające informacje o załadowanym zasobie lub status, wyjaśniające, dlaczego zasoby wysyłają się niepowodzeniem, jak pokazano na przykładzie poniżej:
Example Response for Get Operation{"path": "operations/{operationId}","done": true,"response": {"@type": "type.googleapis.com/roblox.open_cloud.assets.v1.Asset","path": "assets/2205400862","revisionId": "1","revisionCreateTime": "2023-03-02T22:27:04.062164400Z","assetId": "2205400862","displayName": "Name","description": "This is a description","assetType": "ASSET_TYPE_DECAL","creationContext": {"creator": {"userId": "11112938575"}},"moderationResult": {"moderationState": "MODERATION_STATE_APPROVED"}}}(Opcjonalnie) Sprawdź utworzony przedmiot na swoim koncie Roblox.
- Przejdź do strony ekwipunek w swoim koncie Roblox.
- Wybierz Kategorię z zasobu, którego chcesz sprawdzać.
- Znajdź źródło celu i kliknij jego miniaturę, aby zobaczyć źródło.
Dodawanie funkcji łączenia do aplikacji OAuth 2.0
Możesz stworzyć aplikacje OAuth 2.0 wspierające API Asset, aby umożliwić użytkownikom wstawianie i aktualizowanie zasobów w Roblox.
Aby użyć API zasobów dla swojego aplikacji i prośbę o zezwolenia od swoich użytkowników, wykonaj następujące ustawienia:
Gdy rejestrujesz swoją aplikację , pod uprawnieniami , wybierz zakresy 資產:読取 i 1>資產:寫入1>.
Gdy implementujesz przepływ autoryzacji , włącz asset:read i asset:write jako parametry zakresu autoryzacji URL, która przekierowuje użytkowników do twojej aplikacji, jak pokazano poniżej przykładu:
https://www.authorize.roblox.com?client_id=819547628404595165403873012&redirect_uri=https://my-app.com/redirect&scope=asset:read+asset:write&response_type=Code&prompts=login+consent&nonce=12345&state=6789Podczas wysyłania prośbauwzględnij token dostępu w nagłówku autoryzacji i dane formularza zasobu, aby utworzyć lub zaktualizować w wniosku URL zasobu. Następny przykład pokazuje przykładową wniosek o wysłanie nowego zasobu:
Przykładowy zapiscurl --location --request POST 'https://apis.roblox.com/assets/v1/assets' \--header 'Authorization: Bearer <access_token>' \--header 'Content-Type: application/json' \--form 'request="{\"assetType\": \"Decal\",\"displayName\": \"DecalDemo123\",\"description\": \"This is a description\",\"creationContext\": {\"creator\": {\"userId\": \"<user_id>\"}}}"' \--form 'fileContent=@"/filepath/p1.png"'