REST API에 수동으로 기기 등록

빠른 개발을 위해 Google 어시스턴트 SDK와 함께 제공되는 등록 도구를 사용하여 기기 모델 및 인스턴스를 빠르게 등록하거나 업데이트할 수 있습니다.

이 도구를 사용하지 않으려면 JSON 파일 및 REST API를 사용하여 수동으로 기기를 등록하거나 업데이트할 수 있습니다. 이 작업은 모든 컴퓨터에서 할 수 있습니다. 먼저 액세스 토큰을 가져오고 해당 섹션으로 건너뜁니다.

액세스 토큰 가져오기

  1. 승인 도구가 최신 상태인지 확인합니다.

    python -m pip install --upgrade google-auth-oauthlib[tool]

  2. 새 기기 모델을 등록할 수 있도록 사용자 인증 정보를 가져옵니다. 이전 단계.

    google-oauthlib-tool --scope https://www.googleapis.com/auth/assistant-sdk-prototype \
          --headless --client-secrets /path/to/client_secret_client-id.json

    터미널에 URL이 표시됩니다.

    Please visit this URL to authorize this application: https://...

  3. URL을 복사하여 브라우저에 붙여넣습니다. 이 작업은 개발 머신 또는 다른 머신에서 수행할 수 있습니다. 승인하면 브라우저에 '4/XXXX'와 같은 코드가 표시됩니다. 이 코드를 복사하여 터미널에 붙여넣습니다.

    Enter the authorization code:

    승인이 성공하면 다음과 비슷한 JSON 응답이 표시됩니다.

    {
       "scopes": ["https://www.googleapis.com/auth/assistant-sdk-prototype"],
       "token_uri": "https://accounts.google.com/o/oauth2/token",
       "token": "ya29.GlujBLa_kuXZ5GnGBPBe_A6NpczLcpOtglEC0wHVORnmEhHETzlSW",
       "client_id": "795595571889-6iesr9a3nkmnipbdfnqi6gehiklm2m28.apps.googleusercontent.com",
       "client_secret": "Un8_TNFnb55555auSAGasvAg",
       "refresh_token": "1/4ZMBhTR3bTYWVEMatYWLOxW755555hlQXZI5uC02F2U"
     }

    대신 UNAUTHENTICATED이 표시되면 잘못된 코드가 입력된 것입니다. 전체 코드를 복사하여 붙여넣어서 다시 시도하세요.

  4. JSON 응답에서 token을 찾습니다. 이 액세스 토큰 (큰따옴표 제외)을 환경 변수에 복사합니다.

    ACCESSTOKEN=access-token

기기 모델 작업

기기 모델 정의 및 등록

  1. 파일을 만듭니다 (예: device_model.json)이 있어야 합니다. 자세한 내용은 기기 모델 JSON 참조를 확인하세요.

  2. 다음 방법 중 하나를 사용하여 기기 모델을 등록합니다. 아래 URL에서 기기 모델과 연결된 project_id를 대체해야 합니다.

    • 다음 명령을 사용하세요.

      curl -s -X POST -H "Content-Type: application/json" \
      -H "Authorization: Bearer $ACCESSTOKEN" -d @device_model.json \
      https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/deviceModels/
    • 다음 속성을 사용하여 HTTPS 요청을 전송합니다.

    두 방법 모두 서버는 개발자가 전송한 기기 모델 JSON의 사본을 반환해야 합니다. 모델이 서버에 이미 있는 경우 ALREADY_EXISTS 오류가 발생합니다.

기기 모델 가져오기

다음 방법 중 하나를 사용하여 기기 모델을 가져옵니다. 아래 URL에서 기기 모델과 연결된 project_iddevice_model_id를 대체해야 합니다.

기기 모델 나열

다음 방법 중 하나를 사용하여 주어진 프로젝트의 모든 기기 모델을 나열합니다. 아래 URL에서 기기 모델과 연결된 project_id를 대체해야 합니다.

  • 다음 명령을 사용하세요.

    curl -s -X GET -H "Content-Type: application/json" \
    -H "Authorization: Bearer $ACCESSTOKEN" \
    https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/deviceModels/
  • 다음 속성을 사용하여 HTTPS 요청을 전송합니다.

기기 모델 업데이트

다음 방법 중 하나를 사용하여 기기 모델을 업데이트합니다. 기기 모델과 연결된 project_iddevice_model_id를 대체해야 합니다.

  • 다음 명령을 사용하세요.

    curl -s -X PUT -H "Content-Type: application/json" \
    -H "Authorization: Bearer $ACCESSTOKEN" -d @device_model.json \
    https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/deviceModels/device_model_id
  • 다음 속성을 사용하여 HTTPS 요청을 전송합니다.

두 방법 모두 서버는 개발자가 전송한 업데이트된 기기 모델 JSON의 사본을 반환해야 합니다.

기기 모델 삭제

다음 방법 중 하나를 사용하여 기기 모델을 삭제합니다. 아래 URL에서 기기 모델과 연결된 project_iddevice_model_id를 대체해야 합니다.

기기 인스턴스 작업

기기 인스턴스 정의 및 등록

  1. 파일을 만듭니다 (예: test_device.json)입니다. 자세한 내용은 기기 인스턴스 JSON 참조를 확인하세요.

  2. 다음 방법 중 하나를 사용하여 기기를 등록합니다. 아래 URL에서 기기 모델과 연결된 project_id를 대체해야 합니다.

    • 다음 명령을 사용하세요.

      curl -s -X POST -H "Content-Type: application/json" \
      -H "Authorization: Bearer $ACCESSTOKEN" -d @test_device.json \
      https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/devices/
    • 다음 속성을 사용하여 HTTPS 요청을 전송합니다.

    두 방법 모두 서버는 개발자가 전송한 기기 인스턴스 JSON의 사본을 반환해야 합니다. 인스턴스가 이미 서버에 있는 경우 ALREADY_EXISTS 오류가 수신됩니다.

기기 인스턴스 가져오기

다음 방법 중 하나를 사용하여 기기 인스턴스를 가져옵니다. 아래 URL에서 기기 모델 및 기기 id와 연결된 project_id를 대체해야 합니다.

  • 다음 명령을 사용하세요.

    curl -s -X GET -H "Content-Type: application/json" \
    -H "Authorization: Bearer $ACCESSTOKEN" \
    https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/devices/id
  • 다음 속성을 사용하여 HTTPS 요청을 전송합니다.

기기 인스턴스 나열

다음 방법 중 하나를 사용하여 지정된 프로젝트의 모든 기기 인스턴스를 나열합니다. 아래 URL의 기기 인스턴스와 연결된 project_id를 대체해야 합니다.

  • 다음 명령을 사용하세요.

    curl -s -X GET -H "Content-Type: application/json" \
    -H "Authorization: Bearer $ACCESSTOKEN" \
    https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/devices/
  • 다음 속성을 사용하여 HTTPS 요청을 전송합니다.

기기 인스턴스 삭제

다음 방법 중 하나를 사용하여 기기 인스턴스를 삭제합니다. 아래 URL에서 기기 모델 및 기기 id와 연결된 project_id를 대체해야 합니다.

  • 다음 명령을 사용하세요.

    curl -s -X DELETE -H "Content-Type: application/json" \
    -H "Authorization: Bearer $ACCESSTOKEN" \
    https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/devices/id
  • 다음 속성을 사용하여 HTTPS 요청을 전송합니다.