

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Memulai AppFabric untuk produktivitas (pratinjau) untuk pengembang aplikasi
<a name="getting-started-appdeveloper-productivity"></a>


|  | 
| --- |
| Fitur AWS AppFabric untuk produktivitas dalam pratinjau dan dapat berubah sewaktu-waktu. | 

Bagian ini membantu pengembang aplikasi mengintegrasikan AWS AppFabric produktivitas (pratinjau) ke dalam aplikasi mereka. AWS AppFabric Untuk produktivitas memungkinkan pengembang untuk membangun pengalaman aplikasi yang lebih kaya bagi penggunanya dengan menghasilkan wawasan dan tindakan yang didukung AI dari email, acara kalender, tugas, pesan, dan lainnya di beberapa aplikasi. Untuk daftar aplikasi yang didukung, lihat Aplikasi yang [AWS AppFabric Didukung](https://aws.amazon.com/appfabric/supported-applications/).

AppFabric Untuk produktivitas menawarkan pengembang aplikasi akses untuk membangun dan bereksperimen dalam lingkungan yang aman dan terkendali. Ketika Anda pertama kali mulai menggunakan AppFabric untuk produktivitas, Anda membuat AppClient dan mendaftarkan pengguna uji tunggal. Pendekatan ini dirancang untuk membantu Anda memahami dan menguji aliran otentikasi dan komunikasi antara aplikasi Anda dan AppFabric aplikasi. Setelah Anda menguji dengan satu pengguna, Anda dapat mengirimkan aplikasi Anda AppFabric untuk verifikasi sebelum memperluas akses ke pengguna tambahan (lihat[Langkah 5. Permintaan AppFabric untuk memverifikasi aplikasi Anda](#request_verification)). AppFabric akan memverifikasi informasi aplikasi sebelum memungkinkan adopsi yang tersebar luas untuk membantu melindungi pengembang aplikasi, pengguna akhir, dan data mereka — membuka jalan untuk memperluas adopsi pengguna dengan cara yang bertanggung jawab.

**Topics**
+ [Prasyarat](#getting-started-prerequisites)
+ [Langkah 1. Buat AppFabric untuk produktivitas AppClient](#create_appclient)
+ [Langkah 2. Otentikasi dan otorisasi aplikasi Anda](#authorize_data_access)
+ [Langkah 3. Tambahkan URL portal AppFabric pengguna ke aplikasi Anda](#end_user_portal)
+ [Langkah 4. Gunakan AppFabric untuk memunculkan wawasan dan tindakan lintas aplikasi](#surface_insights_actions)
+ [Langkah 5. Permintaan AppFabric untuk memverifikasi aplikasi Anda](#request_verification)
+ [Kelola AppFabric untuk produktivitas AppClients](manage-appclients.md)
+ [Memecahkan masalah untuk AppClients produktivitas AppFabric](ahead-app-dev-errors.md)

## Prasyarat
<a name="getting-started-prerequisites"></a>

Sebelum Anda memulai, Anda perlu membuat file Akun AWS. Untuk informasi selengkapnya, lihat [Mendaftar untuk Akun AWS](prerequisites.md#sign-up-for-aws). Anda juga perlu membuat setidaknya satu pengguna dengan akses ke kebijakan `"appfabric:CreateAppClient"` IAM yang tercantum di bawah ini, yang memungkinkan pengguna untuk mendaftarkan aplikasi Anda. AppFabric Untuk informasi selengkapnya tentang pemberian izin untuk fitur produktivitas, lihat. AppFabric [AppFabric untuk contoh kebijakan IAM produktivitas](security_iam_id-based-policy-examples.md#appfabric-for-productivity-policy-examples) Meskipun memiliki pengguna administratif bermanfaat, itu tidak wajib untuk pengaturan awal. Untuk informasi selengkapnya, lihat [Buat pengguna dengan akses administratif](prerequisites.md#create-an-admin).

AppFabric untuk produktivitas hanya di AS Timur (Virginia N.) selama pratinjau. Pastikan Anda berada di wilayah ini sebelum memulai langkah-langkah di bawah ini.

## Langkah 1. Buat AppFabric untuk produktivitas AppClient
<a name="create_appclient"></a>

Sebelum Anda dapat mulai muncul AppFabric untuk wawasan produktivitas dalam aplikasi Anda, Anda perlu membuat. AppFabric AppClient An pada dasarnya AppClient adalah pintu gerbang Anda AppFabric untuk produktivitas, berfungsi sebagai klien OAuth aplikasi aman yang memungkinkan komunikasi aman antara aplikasi Anda dan AppFabric aplikasi. Saat Anda membuat AppClient, Anda akan diberikan AppClient ID, pengenal unik yang penting untuk memastikan AppFabric bahwa itu berfungsi dengan aplikasi Anda dan Anda Akun AWS.

AppFabric Untuk produktivitas menawarkan pengembang aplikasi akses untuk membangun dan bereksperimen dalam lingkungan yang aman dan terkendali. Ketika Anda pertama kali mulai menggunakan AppFabric untuk produktivitas, Anda membuat AppClient dan mendaftarkan pengguna uji tunggal. Pendekatan ini dirancang untuk membantu Anda memahami dan menguji aliran otentikasi dan komunikasi antara aplikasi Anda dan AppFabric aplikasi. Setelah Anda menguji dengan satu pengguna, Anda dapat mengirimkan aplikasi Anda AppFabric untuk verifikasi sebelum memperluas akses ke pengguna tambahan (lihat[Langkah 5. Permintaan AppFabric untuk memverifikasi aplikasi Anda](#request_verification)). AppFabric akan memverifikasi informasi aplikasi sebelum memungkinkan adopsi yang tersebar luas untuk membantu melindungi pengembang aplikasi, pengguna akhir, dan data mereka — membuka jalan untuk memperluas adopsi pengguna dengan cara yang bertanggung jawab.

Untuk membuat AppClient, gunakan operasi AWS AppFabric `CreateAppClient` API. Jika Anda perlu memperbarui AppClient setelahnya, Anda dapat menggunakan operasi `UpdateAppClient` API untuk mengubah hanya redirecTurls. Jika Anda perlu mengubah salah satu parameter lain yang terkait dengan Anda AppClient seperti AppName atau deskripsi, Anda harus menghapus AppClient dan membuat yang baru. Untuk informasi selengkapnya, lihat [CreateAppClient](API_CreateAppClient.md).

Anda dapat mendaftarkan aplikasi Anda dengan AWS layanan menggunakan `CreateAppClient` API menggunakan beberapa bahasa pemrograman, termasuk Python, Node.js, Java, C \$1, Go dan Rust. Untuk informasi selengkapnya, lihat [Meminta contoh tanda tangan](https://docs.aws.amazon.com/IAM/latest/UserGuide/signature-v4-examples.html) di *Panduan Pengguna IAM*. Anda perlu menggunakan kredensyal versi 4 tanda tangan akun Anda untuk melakukan operasi API ini. Untuk informasi selengkapnya tentang tanda tangan versi 4, lihat [Menandatangani permintaan AWS API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-signing.html) di *Panduan Pengguna IAM*.

**Bidang Permintaan**
+ `appName`- Nama aplikasi yang akan ditampilkan kepada pengguna di halaman persetujuan portal AppFabric pengguna. Halaman persetujuan meminta izin pengguna akhir untuk menampilkan AppFabric wawasan di dalam aplikasi Anda. Untuk detail tentang halaman persetujuan, lihat[Langkah 2. Memberikan persetujuan bagi aplikasi untuk menampilkan wawasan](getting-started-users-productivity.md#provide-consent).
+ `description`- Deskripsi untuk aplikasi.
+ `redirectUrls`- URI untuk mengarahkan pengguna akhir setelah otorisasi. Anda dapat menambahkan hingga 5 RedirecTurls. Misalnya, `https://localhost:8080`.
+ `starterUserEmails`- Alamat email pengguna yang akan diizinkan mengakses untuk menerima wawasan sampai aplikasi diverifikasi. Hanya satu alamat email yang diizinkan. Sebagai contoh, `anyuser@example.com`.
+ `customerManagedKeyIdentifier`(opsional) - ARN kunci yang dikelola pelanggan (dihasilkan oleh KMS) untuk digunakan untuk mengenkripsi data. Jika tidak ditentukan, maka kunci yang AWS AppFabric dikelola akan digunakan. Untuk informasi selengkapnya tentang Kunci milik AWS dan kunci yang dikelola [pelanggan, lihat Kunci dan AWS kunci](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-mgmt) pelanggan di *Panduan AWS Key Management Service Pengembang*.

**Bidang Respons**
+ `appClientArn`- Nama Sumber Daya Amazon (ARN) yang menyertakan ID. AppClient Misalnya, AppClient ID adalah`a1b2c3d4-5678-90ab-cdef-EXAMPLE11111`.
+ `verificationStatus`- Status AppClient verifikasi.
  + `pending_verification`- Verifikasi AppClient masih dalam proses dengan AppFabric. Sampai AppClient diverifikasi, hanya satu pengguna (ditentukan dalam`starterUserEmails`) yang dapat menggunakan file AppClient. Pengguna akan melihat pemberitahuan di portal AppFabric pengguna, diperkenalkan di[Langkah 3. Tambahkan URL portal AppFabric pengguna ke aplikasi Anda](#end_user_portal), yang menunjukkan bahwa aplikasi tidak diverifikasi.
  + `verified`- Proses verifikasi telah berhasil diselesaikan oleh AppFabric dan sekarang sepenuhnya diverifikasi. AppClient 
  + `rejected`- Proses verifikasi untuk AppClient ditolak oleh AppFabric. AppClient Tidak dapat digunakan oleh pengguna tambahan sampai proses verifikasi dimulai kembali dan diselesaikan dengan sukses.

```
curl --request POST \
  --header "Content-Type: application/json" \
  --header "X-Amz-Content-Sha256: <sha256_payload>" \
  --header "X-Amz-Security-Token: <security_token>" \
  --header "X-Amz-Date: 20230922T172215Z" \
  --header "Authorization: AWS4-HMAC-SHA256 ..." \
  --url https://appfabric.<region>.amazonaws.com/appclients/ \
  --data '{
    "appName": "Test App",
    "description": "This is a test app",
    "redirectUrls": ["https://localhost:8080"],
    "starterUserEmails": ["anyuser@example.com"],
    "customerManagedKeyIdentifier": "arn:aws:kms:<region>:<account>:key/<key>"
}'
```

Jika tindakan berhasil, layanan mengirimkan kembali respons HTTP 200.

```
{
    "appClientConfigSummary": {
        "appClientArn": "arn:aws:appfabric:<region>:<account>:appclient/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "verificationStatus": "pending_verification"
    }
}
```

## Langkah 2. Otentikasi dan otorisasi aplikasi Anda
<a name="authorize_data_access"></a>

Aktifkan aplikasi Anda untuk mengintegrasikan AppFabric wawasan dengan aman dengan membuat alur otorisasi OAuth 2.0. Pertama, Anda perlu membuat kode otorisasi, yang memverifikasi identitas aplikasi Anda. Untuk informasi selengkapnya, lihat [Otorisasi](API_Authorize.md). Kemudian Anda akan menukar kode otorisasi ini dengan token akses, yang memberikan izin kepada aplikasi Anda untuk mengambil dan menampilkan AppFabric wawasan dalam aplikasi Anda. Untuk informasi selengkapnya, lihat [Token](API_Token.md).

Untuk informasi selengkapnya tentang pemberian izin untuk mengotorisasi aplikasi, lihat. [Izinkan akses untuk mengotorisasi aplikasi](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-productivity-token)

1. Untuk membuat kode otorisasi, gunakan operasi AWS AppFabric `oauth2/authorize` API.

   **Bidang Permintaan**
   + `app_client_id`(wajib) - AppClient ID untuk yang Akun AWS dibuat di [Langkah 1. Buat sebuah AppClient](#create_appclient). Misalnya, `a1b2c3d4-5678-90ab-cdef-EXAMPLE11111`.
   + `redirect_uri`(wajib) - URI untuk mengarahkan pengguna akhir setelah otorisasi yang Anda gunakan pada [Langkah 1. Buat sebuah AppClient](#create_appclient). Misalnya, `https://localhost:8080`.
   + `state`(required) - Nilai unik untuk mempertahankan status antara permintaan dan callback. Misalnya, `a8904edc-890c-1005-1996-29a757272a44`.

   ```
   GET https://productivity.appfabric.<region>.amazonaws.com/oauth2/authorize?app_client_id=a1b2c3d4-5678-90ab-cdef-EXAMPLE11111\
   redirect_uri=https://localhost:8080&state=a8904edc-890c-1005-1996-29a757272a44
   ```

1. Setelah otentikasi, Anda akan diarahkan ke URI yang ditentukan dengan kode otorisasi yang dikembalikan sebagai parameter kueri. Misalnya, di mana`code=mM0NyJ9.MEUCIHQQgV3ChXGs2LRwxLtpsgya3ybfPYXfX-sxTAdRF-gDAiEAxX7BYKlD9krG3J2VtprOjVXZ0FSUX9whdekqJ-oampc`.

   ```
   https://localhost:8080/?code=mM0NyJ9.MEUCIHQQgV3ChXGs2LRwxLtpsgya3ybfPYXfX-sxTAdRF-gDAiEAxX7BYKlD9krG3J2VtprOjVXZ0FSUX9whdekqJ-oampc&state=a8904edc-890c-1005-1996-29a757272a44
   ```

1. Tukarkan kode otorisasi ini dengan token akses menggunakan operasi AppFabric `oauth2/token` API.

   Token ini digunakan untuk permintaan API dan awalnya valid untuk `starterUserEmails` sampai AppClient diverifikasi. Setelah AppClient diverifikasi, token ini dapat digunakan untuk setiap pengguna. Anda perlu menggunakan kredensyal versi 4 tanda tangan akun Anda untuk melakukan operasi API ini. Untuk informasi selengkapnya tentang tanda tangan versi 4, lihat [Menandatangani permintaan AWS API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-signing.html) di *Panduan Pengguna IAM*.

**Bidang Permintaan**
   + `code`(wajib) - Kode otorisasi yang Anda terima setelah mengautentikasi pada langkah terakhir. Misalnya, `mM0NyJ9.MEUCIHQQgV3ChXGs2LRwxLtpsgya3ybfPYXfX-sxTAdRF-gDAiEAxX7BYKlD9krG3J2VtprOjVXZ0FSUX9whdekqJ-oampc`.
   + `app_client_id`(wajib) - AppClient ID untuk yang Akun AWS dibuat di [Langkah 1. Buat sebuah AppClient](#create_appclient). Misalnya, `a1b2c3d4-5678-90ab-cdef-EXAMPLE11111`.
   + `grant_type`(wajib) - Nilainya harus`authorization_code`.
   + `redirect_uri`(wajib) - URI untuk mengarahkan pengguna setelah otorisasi yang Anda gunakan pada [Langkah 1. Buat sebuah AppClient](#create_appclient). Ini harus URI pengalihan yang sama yang digunakan untuk membuat kode otorisasi. Misalnya, `https://localhost:8080`.

   **Bidang Respons**
   + `expires_in`- Seberapa cepat sebelum token kedaluwarsa. Waktu kedaluwarsa default adalah 12 jam.
   + `refresh_token`- Token penyegaran yang diterima dari permintaan /token awal.
   + `token`- Token yang diterima dari permintaan /token awal.
   + `token_type`- Nilainya akan`Bearer`.
   + `appfabric_user_id`- Id AppFabric pengguna. Ini dikembalikan hanya untuk permintaan yang menggunakan jenis `authorization_code` hibah.

   ```
   curl --location \
   "https://appfabric.<region>.amazonaws.com/oauth2/token" \
   --header "Content-Type: application/json" \
   --header "X-Amz-Content-Sha256: <sha256_payload>" \
   --header "X-Amz-Security-Token: <security_token>" \
   --header "X-Amz-Date: 20230922T172215Z" \
   --header "Authorization: AWS4-HMAC-SHA256 ..." \
   --data "{
       \"code\": \"mM0NyJ9.MEUCIHQQgV3ChXGs2LRwxLtpsgya3ybfPYXfX-sxTAdRF-gDAiEAxX7BYKlD9krG3J2VtprOjVXZ0FSUX9whdekqJ-oampc",
       \"app_client_id\": \"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111\",
       \"grant_type\": \"authorization_code\",
       \"redirect_uri\": \"https://localhost:8080\"
   }"
   ```

   Jika tindakan berhasil, layanan mengirimkan kembali respons HTTP 200.

   ```
   {
       "expires_in": 43200,
       "refresh_token": "apkaeibaerjr2example",
       "token": "apkaeibaerjr2example",
       "token_type": "Bearer", 
       "appfabric_user_id" : "<userId>"
   }
   ```

## Langkah 3. Tambahkan URL portal AppFabric pengguna ke aplikasi Anda
<a name="end_user_portal"></a>

Pengguna akhir perlu mengotorisasi AppFabric untuk mengakses data dari aplikasi mereka yang digunakan untuk menghasilkan wawasan. AppFabric menghilangkan kerumitan bagi pengembang aplikasi untuk memiliki proses ini dengan membangun portal pengguna khusus (layar pop-up) bagi pengguna akhir untuk mengotorisasi aplikasi mereka. Ketika pengguna siap AppFabric untuk mengaktifkan produktivitas, mereka akan dibawa ke portal pengguna yang memungkinkan mereka untuk menghubungkan dan mengelola aplikasi yang digunakan untuk menghasilkan wawasan dan tindakan lintas aplikasi. Saat masuk, pengguna dapat menghubungkan aplikasi AppFabric untuk produktivitas dan kemudian kembali ke aplikasi Anda untuk menjelajahi wawasan dan tindakan. Untuk mengintegrasikan aplikasi Anda dengan AppFabric produktivitas, Anda perlu menambahkan AppFabric URL tertentu ke aplikasi Anda. Langkah ini sangat penting untuk memungkinkan pengguna mengakses portal AppFabric pengguna langsung dari aplikasi Anda.

1. Arahkan ke pengaturan aplikasi Anda dan temukan bagian untuk menambahkan pengalihan URLs.

1. Setelah Anda menemukan area yang sesuai, tambahkan AppFabric URL berikut sebagai URL pengalihan ke aplikasi Anda:

   ```
   https://userportal.appfabric.<region>.amazonaws.com/eup_login
   ```

Setelah Anda menambahkan URL, aplikasi Anda akan diatur untuk mengarahkan pengguna ke portal AppFabric pengguna. Di sini, pengguna dapat masuk dan terhubung serta mengelola aplikasi mereka yang digunakan AppFabric untuk menghasilkan wawasan produktivitas.

## Langkah 4. Gunakan AppFabric untuk memunculkan wawasan dan tindakan lintas aplikasi
<a name="surface_insights_actions"></a>

Setelah pengguna menghubungkan aplikasi mereka, Anda dapat membawa wawasan pengguna Anda untuk meningkatkan produktivitas mereka dengan membantu mengurangi peralihan aplikasi dan konteks. AppFabric hanya menghasilkan wawasan untuk pengguna berdasarkan apa yang pengguna memiliki izin untuk mengakses. AppFabric menyimpan data pengguna yang Akun AWS dimiliki oleh AppFabric. Untuk informasi tentang cara AppFabric menggunakan data Anda, lihat[Pemrosesan data di AppFabric](productivity-data-processing.md).

Anda dapat menggunakan AI berikut ini APIs untuk menghasilkan dan memunculkan wawasan dan tindakan tingkat pengguna dalam aplikasi Anda:
+ `ListActionableInsights`— Untuk informasi selengkapnya, lihat bagian [Wawasan yang dapat ditindaklanjuti](#productivity-actionable-insights) di bawah ini.
+ `ListMeetingInsights`— Untuk informasi lebih lanjut, lihat bagian [Persiapan Rapat](#productivity-meeting-insights) nanti di panduan ini.

### Wawasan yang dapat ditindaklanjuti () `ListActionableInsights`
<a name="productivity-actionable-insights"></a>

`ListActionableInsights`API membantu pengguna mengelola wawasan yang dapat ditindaklanjuti dengan sebaik-baiknya berdasarkan aktivitas di seluruh aplikasi mereka, termasuk email, kalender, pesan, tugas, dan lainnya. Wawasan yang dikembalikan juga akan menampilkan tautan tertanam ke artefak yang digunakan untuk menghasilkan wawasan — membantu pengguna melihat data apa yang digunakan untuk menghasilkan wawasan dengan cepat. Selain itu, API dapat menampilkan tindakan yang disarankan berdasarkan wawasan dan memungkinkan pengguna untuk menjalankan tindakan lintas aplikasi dari dalam aplikasi Anda. Secara khusus, API terintegrasi dengan platform sepertiAsana,, Google WorkspaceMicrosoft 365, dan Smartsheet untuk memungkinkan pengguna mengirim email, membuat acara kalender, dan membuat tugas. Model bahasa besar (LLMs) dapat mengisi detail sebelumnya dalam tindakan yang disarankan (seperti badan email atau nama tugas), yang dapat disesuaikan pengguna sebelum eksekusi — menyederhanakan pengambilan keputusan dan meningkatkan produktivitas. Mirip dengan pengalaman bagi pengguna akhir untuk mengotorisasi aplikasi, AppFabric menggunakan portal khusus yang sama bagi pengguna untuk melihat, mengedit, dan menjalankan tindakan lintas aplikasi. Untuk mengeksekusi tindakan, AppFabric diperlukan ISVs untuk mengarahkan kembali pengguna ke portal AppFabric pengguna di mana mereka dapat melihat detail tindakan dan mengeksekusinya. Setiap tindakan yang dihasilkan oleh AppFabric memiliki URL yang unik. URL ini tersedia dalam respons respons `ListActionableInsights` API.

Di bawah ini adalah ringkasan tindakan lintas aplikasi yang didukung dan aplikasi mana:
+ Kirim email (Google Workspace,Microsoft 365)
+ Membuat kalender acara (Google Workspace,Microsoft 365)
+ Buat tugas (Asana,Smartsheet)

**Bidang Permintaan**
+ `nextToken`(opsional) - Token pagination untuk mengambil kumpulan wawasan berikutnya.
+ `includeActionExecutionStatus`- Filter yang menerima daftar status eksekusi tindakan. Tindakan disaring berdasarkan nilai status yang diteruskan. Nilai yang mungkin: `NOT_EXECUTED` \$1 `EXECUTED`

**Permintaan Header**
+ Header otorisasi harus diteruskan dengan `Bearer Token ` nilainya.

**Bidang Respons**
+ `insightId`- Id unik untuk wawasan yang dihasilkan.
+ `insightContent`- Ini mengembalikan ringkasan wawasan dan tautan tertanam ke artefak yang digunakan untuk menghasilkan wawasan. Catatan: Ini akan menjadi konten HTML yang berisi tautan tertanam (<a>tag).
+ `insightTitle`- Judul wawasan yang dihasilkan.
+ `createdAt`- Saat wawasan dihasilkan.
+ `actions`- Daftar tindakan yang direkomendasikan untuk wawasan yang dihasilkan. Objek aksi:
  + `actionId`- Id unik untuk tindakan yang dihasilkan.
  + `actionIconUrl`- URL ikon untuk aplikasi tempat tindakan disarankan untuk dieksekusi.
  + `actionTitle`- Judul tindakan yang dihasilkan.
  + `actionUrl`- URL unik untuk pengguna akhir untuk melihat dan menjalankan tindakan di AppFabric portal pengguna. Catatan: untuk menjalankan tindakan, aplikasi ISV akan mengarahkan ulang pengguna ke portal AppFabric pengguna (layar pop up) menggunakan URL ini.
  + `actionExecutionStatus`- Enum yang menunjukkan status tindakan. Nilai yang mungkin adalah: `EXECUTED` \$1 `NOT_EXECUTED`
+ `nextToken`(opsional) - Token pagination untuk mengambil kumpulan wawasan berikutnya. Ini adalah bidang opsional yang jika dikembalikan null berarti tidak ada lagi wawasan untuk dimuat.

Untuk informasi selengkapnya, lihat [ActionableInsights](API_ActionableInsights.md).

```
curl -v --location \
  "https://productivity.appfabric.<region>.amazonaws.com"\
"/actionableInsights" \
  --header "Authorization: Bearer <token>"
```

Jika tindakan berhasil, layanan mengirimkan kembali respons HTTP 200.

```
200 OK

{
    "insights": [
        {
            "insightId": "7tff3412-33b4-479a-8812-30EXAMPLE1111",
            "insightContent": "You received an email from James
            regarding providing feedback
            for upcoming performance reviews.",
            "insightTitle": "New feedback request",
            "createdAt": 2022-10-08T00:46:31.378493Z,
            "actions": [
                {
                    "actionId": "5b4f3412-33b4-479a-8812-3EXAMPLE2222",
                    "actionIconUrl": "https://d3gdwnnn63ow7w.cloudfront.net/eup/123.svg",
                    "actionTitle": "Send feedback request email",
                    "actionUrl": "https://userportal.appfabric.us-east-1.amazonaws.com/action/action_id_1"
                    "actionExecutionStatus": "NOT_EXECUTED"
                }
            ]
        },
        {
            "insightId": "2dff3412-33b4-479a-8812-30bEXAMPLE3333",
            "insightContent":"Steve sent you an email asking for details on project. Consider replying to the email.",
            "insightTitle": "New team launch discussion",
            "createdAt": 2022-10-08T00:46:31.378493Z,
            "actions": [
                {
                    "actionId": "74251e31-5962-49d2-9ca3-1EXAMPLE1111",
                    "actionIconUrl": "https://d3gdwnnn63ow7w.cloudfront.net/eup/123.svg",
                    "actionTitle": "Reply to team launch email",
                    "actionUrl": "https://userportal.appfabric.us-east-1.amazonaws.com/action/action_id_2"
                    "actionExecutionStatus": "NOT_EXECUTED"
                }
            ]
        }
    ],
    "nextToken": null
}
```

### Persiapan rapat (`ListMeetingInsights`)
<a name="productivity-meeting-insights"></a>

`ListMeetingInsights`API membantu pengguna mempersiapkan diri terbaik untuk pertemuan mendatang dengan meringkas tujuan pertemuan dan menampilkan artefak lintas aplikasi yang relevan seperti email, pesan, dan banyak lagi. Pengguna dapat dengan cepat mempersiapkan rapat sekarang dan tidak membuang waktu beralih antar aplikasi untuk menemukan konten.

**Bidang Permintaan**
+ `nextToken`(opsional) - Token pagination untuk mengambil kumpulan wawasan berikutnya.

**Permintaan Header**
+ Header otorisasi harus diteruskan dengan `Bearer Token` nilainya.

**Bidang Respons**
+ `insightId`- Id unik untuk wawasan yang dihasilkan.
+ `insightContent`- Deskripsi wawasan yang menyoroti detail dalam format string. Seperti, mengapa wawasan ini penting.
+ `insightTitle`- Judul wawasan yang dihasilkan.
+ `createdAt`- Saat wawasan dihasilkan.
+ `calendarEvent`- Acara atau rapat kalender penting yang harus difokuskan pengguna. Kalender objek Acara: 
  + `startTime`- Waktu mulai acara.
  + `endTime`- Waktu akhir acara.
  + `eventUrl`- URL untuk acara kalender di aplikasi ISV.
+ `resources`- Daftar yang berisi sumber daya lain yang terkait dengan menghasilkan wawasan. Objek sumber daya:
  + `appName`- Nama aplikasi tempat sumber daya berada.
  + `resourceTitle`- Judul sumber daya.
  + `resourceType`- Jenis sumber daya. Nilai yang mungkin adalah: `EMAIL` \$1 `EVENT` \$1 `MESSAGE` \$1 `TASK`
  + `resourceUrl`- URL sumber daya di aplikasi.
  + `appIconUrl`- URL gambar aplikasi tempat sumber daya berada.
+ `nextToken`(opsional) - Token pagination untuk mengambil kumpulan wawasan berikutnya. Ini adalah bidang opsional yang jika dikembalikan null berarti tidak ada lagi wawasan untuk dimuat.

Untuk informasi selengkapnya, lihat [MeetingInsights](API_MeetingInsights.md).

```
curl --location \
  "https://productivity.appfabric.<region>.amazonaws.com"\
"/meetingContexts" \
  --header "Authorization: Bearer <token>"
```

Jika tindakan berhasil, layanan mengirimkan kembali respon HTTP 201.

```
200 OK

{
    "insights": [
        {
            "insightId": "74251e31-5962-49d2-9ca3-15EXAMPLE4444"
            "insightContent": "Project demo meeting coming up soon. Prepare accordingly",
            "insightTitle": "Demo meeting next week",
            "createdAt": 2022-10-08T00:46:31.378493Z,
            "calendarEvent": {
                    "startTime": {
                        "timeInUTC": 2023-10-08T10:00:00.000000Z,
                        "timeZone": "UTC"
                     },
                    "endTime": {
                        "timeInUTC": 2023-10-08T11:00:00.000000Z,
                        "timeZone": "UTC"
                     },
                    "eventUrl": "http://someapp.com/events/1234",
            }
            "resources": [
                {
                    "appName": "SOME_EMAIL_APP",
                    "resourceTitle": "Email for project demo",
                    "resourceType": "EMAIL",
                    "resourceUrl": "http://someapp.com/emails/1234",
                    "appIconUrl":"https://d3gdwnnn63ow7w.cloudfront.net/eup/123.svg"
                }
            ]
        },
        {
            "insightId": "98751e31-5962-49d2-9ca3-15EXAMPLE5555"
            "insightContent": "Important code complete task is now due. Consider updating the status.",
            "insightTitle": "Code complete task is due",
            "createdAt": 2022-10-08T00:46:31.378493Z,
            "calendarEvent":{
                    "startTime": {
                        "timeInUTC": 2023-10-08T10:00:00.000000Z,
                        "timeZone": "UTC"
                     },
                    "endTime": {
                        "timeInUTC": 2023-10-08T11:00:00.000000Z,
                        "timeZone": "UTC"
                     },
                    "eventUrl": "http://someapp.com/events/1234",
            },
            "resources": [
                {
                    "appName": "SOME_TASK_APPLICATION",
                    "resourceTitle": "Code Complete task is due",
                    "resourceType": "TASK",
                    "resourceUrl": "http://someapp.com/task/1234",
                    "appIconUrl": "https://d3gdwnnn63ow7w.cloudfront.net/eup/123.svg"
                }
            ]
        }
    ],
    "nextToken": null
}
```

### Berikan umpan balik untuk wawasan atau tindakan Anda
<a name="productivity-feedback-appclient"></a>

Gunakan operasi AppFabric `PutFeedback` API untuk memberikan umpan balik untuk wawasan dan tindakan yang dihasilkan. Anda dapat menyematkan fitur ini di aplikasi Anda untuk memberikan cara untuk mengirimkan peringkat umpan balik (1 hingga 5, di mana peringkat yang lebih tinggi semakin baik) untuk yang diberikan InsightId atau ActionId.

**Bidang permintaan**
+ `id`- Pengidentifikasi objek yang umpan baliknya dikirimkan. Ini bisa berupa InsightId atau ActionId.
+ `feedbackFor`- Jenis sumber daya yang umpan balik dikirimkan. Nilai yang mungkin: `ACTIONABLE_INSIGHT` \$1 `MEETING_INSIGHT` \$1 `ACTION`
+ `feedbackRating`- Peringkat umpan balik dari `1` ke`5`. Rating yang lebih tinggi semakin baik.

**Bidang respons**
+ Tidak ada bidang respons.

Untuk informasi selengkapnya, lihat [PutFeedback](API_PutFeedback.md).

```
curl --request POST \
  --url "https://productivity.appfabric.<region>.amazonaws.com"\
"/feedback" \
  --header "Authorization: Bearer <token>" \
  --header "Content-Type: application/json" \
  --data '{
    "id": "1234-5678-9012",
    "feedbackFor": "ACTIONABLE_INSIGHT"
    "feedbackRating": 3
}'
```

Jika tindakan berhasil, layanan mengirimkan kembali respons HTTP 201 dengan badan HTTP kosong.

## Langkah 5. Permintaan AppFabric untuk memverifikasi aplikasi Anda
<a name="request_verification"></a>

Untuk titik ini, Anda telah memperbarui UI aplikasi untuk menyematkan wawasan dan tindakan AppFabric lintas aplikasi, dan menerima wawasan untuk satu pengguna. Setelah puas dengan pengujian dan ingin memperluas pengalaman yang AppFabric diperkaya kepada pengguna tambahan, Anda dapat mengirimkan aplikasi Anda AppFabric untuk ditinjau dan diverifikasi. AppFabric akan memverifikasi informasi aplikasi sebelum memungkinkan adopsi yang tersebar luas untuk membantu melindungi pengembang aplikasi, pengguna akhir, dan data mereka — membuka jalan untuk memperluas adopsi pengguna dengan cara yang bertanggung jawab.

**Memulai proses verifikasi**

Mulailah proses verifikasi dengan mengirimkan email ke [appfabric-appverification@amazon.com](mailto:appfabric-appverification@amazon.com) dan meminta agar aplikasi Anda diverifikasi.

Sertakan detail berikut di email Anda:
+  Akun AWS ID Anda
+ Nama aplikasi yang Anda cari verifikasi
+  AppClient ID Anda
+ Informasi kontak Anda

Selain itu, berikan informasi berikut, jika tersedia, untuk membantu kami menilai prioritas dan dampak:
+ Perkiraan jumlah pengguna yang Anda rencanakan untuk memberikan akses
+ Tanggal peluncuran target Anda

**catatan**  
Jika Anda memiliki Akun AWS manajer atau manajer pengembangan AWS mitra, silakan salin di email Anda. Menyertakan kontak ini dapat membantu mempercepat proses verifikasi.

**Kriteria verifikasi**

Sebelum memulai proses verifikasi, Anda harus memenuhi kriteria berikut:
+ Anda harus menggunakan valid Akun AWS untuk digunakan AppFabric untuk produktivitas

Selain itu, Anda memenuhi setidaknya satu dari kriteria ini:
+ Organisasi Anda adalah AWS mitra AWS Partner Network dengan setidaknya tingkat “AWS Pilih”. Untuk informasi selengkapnya, lihat [AWS Tingkat Layanan Mitra.](https://aws.amazon.com/partners/services-tiers/)
+ Organisasi Anda seharusnya menghabiskan setidaknya \$110.000 untuk AppFabric layanan dalam tiga tahun terakhir.
+ Aplikasi Anda harus terdaftar di AWS Marketplace. Untuk informasi selengkapnya, lihat [AWS Marketplace](https://aws.amazon.com/marketplace).

**Tunggu pembaruan status verifikasi**

Setelah aplikasi Anda ditinjau, kami akan merespons melalui email dan status Anda AppClient akan berubah dari `pending_verification` menjadi`verified`. Jika aplikasi Anda ditolak, Anda harus memulai kembali proses verifikasi.

# Kelola AppFabric untuk produktivitas AppClients
<a name="manage-appclients"></a>


|  | 
| --- |
| Fitur AWS AppFabric untuk produktivitas dalam pratinjau dan dapat berubah sewaktu-waktu. | 

Anda dapat mengelola produktivitas Anda AppFabric AppClients untuk memastikan kelancaran operasi dan pemeliharaan proses otentikasi dan otorisasi.

## Dapatkan detail dari sebuah AppClient
<a name="get_appclient_details"></a>

Gunakan operasi AppFabric `GetAppClient` API untuk melihat detail tentang Anda AppClient, termasuk memeriksa AppClient status. Untuk informasi selengkapnya, lihat [GetAppClient](API_GetAppClient.md).

Untuk mendapatkan detail AppClient, Anda harus memiliki, setidaknya, izin kebijakan `"appfabric:GetAppClient"` IAM. Untuk informasi selengkapnya, lihat [Izinkan akses untuk mendapatkan detail AppClients](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-productivity-get-appclient).

**Bidang Permintaan**
+ `appClientId`- AppClient Id.

**Bidang Respons**
+ `appName`- Nama aplikasi yang akan ditampilkan kepada pengguna di halaman persetujuan portal AppFabric pengguna.
+ `customerManagedKeyIdentifier`(opsional) - ARN dari Customer Managed Key (dihasilkan oleh KMS) untuk digunakan untuk mengenkripsi data. Jika tidak ditentukan, maka Kunci AWS AppFabric Terkelola akan digunakan.
+ `description`- Deskripsi untuk aplikasi.
+ `redirectUrls`- URI untuk mengarahkan pengguna akhir setelah otorisasi. Anda dapat menambahkan hingga 5 RedirecTurls. Misalnya, `https://localhost:8080`.
+ `starterUserEmails`- Alamat email pengguna yang akan diizinkan mengakses untuk menerima wawasan sampai aplikasi diverifikasi. Hanya satu alamat email yang diizinkan. Misalnya, `anyuser@example.com`.
+ `verificationStatus`- Status AppClient verifikasi.
  + `pending_verification`- Verifikasi AppClient masih dalam proses dengan AppFabric. Sampai AppClient diverifikasi, hanya satu pengguna (ditentukan dalam`starterUserEmails`) yang dapat menggunakan file AppClient.
  + `verified`- Proses verifikasi telah berhasil diselesaikan oleh AppFabric dan sekarang sepenuhnya diverifikasi. AppClient 
  + `rejected`- Proses verifikasi untuk AppClient ditolak oleh AppFabric. AppClient Tidak dapat digunakan oleh pengguna tambahan sampai proses verifikasi dimulai kembali dan diselesaikan dengan sukses.

```
curl --request GET \
  --header "Content-Type: application/json" \
  --header "X-Amz-Content-Sha256: <sha256_payload>" \
  --header "X-Amz-Security-Token: <security_token>" \
  --header "X-Amz-Date: 20230922T172215Z" \
  --header "Authorization: AWS4-HMAC-SHA256 ..." \
  --url https://appfabric.<region>.amazonaws.com/appclients/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
```

Jika tindakan berhasil, layanan mengirimkan kembali respons HTTP 200.

```
200 OK

{
    "appClient": {
        "appName": "Test App",
        "arn": "arn:aws:appfabric:<region>:111122223333:appclient/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "customerManagedKeyArn": "arn:aws:kms:<region>:111122223333:key/<key>",
        "description": "This is a test app",
        "redirectUrls": [
            "https://localhost:8080"
        ],
        "starterUserEmails": [
            "anyuser@example.com"
        ],
        "verificationDetails": {
            "verificationStatus": "pending_verification"
        }
    }
}
```

## Daftar AppClients
<a name="list_appclients"></a>

Gunakan operasi AppFabric `ListAppClients` API untuk melihat daftar Anda AppClients. AppFabric hanya memungkinkan satu AppClient per Akun AWS. Ini dapat berubah di masa depan. Untuk informasi selengkapnya, lihat [ListAppClients](API_ListAppClients.md).

Untuk mendaftar AppClients, Anda harus memiliki, setidaknya, izin kebijakan `"appfabric:ListAppClients"` IAM. Untuk informasi selengkapnya, lihat [Izinkan akses ke daftar AppClients](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-productivity-list-appclient).

**Bidang Permintaan**
+ Tidak ada bidang wajib.

**Bidang Respons**
+ `appClientARN`- Nama Sumber Daya Amazon (ARN) yang menyertakan ID. AppClient Misalnya, AppClient ID adalah`a1b2c3d4-5678-90ab-cdef-EXAMPLE11111`.
+ `verificationStatus`- Status AppClient verifikasi.
  + `pending_verification`- Verifikasi AppClient masih dalam proses dengan AppFabric. Sampai AppClient diverifikasi, hanya satu pengguna (ditentukan dalam`starterUserEmails`) yang dapat menggunakan file AppClient.
  + `verified`- Proses verifikasi telah berhasil diselesaikan oleh AppFabric dan sekarang sepenuhnya diverifikasi. AppClient 
  + `rejected`- Proses verifikasi untuk AppClient ditolak oleh AppFabric. AppClient Tidak dapat digunakan oleh pengguna tambahan sampai proses verifikasi dimulai kembali dan diselesaikan dengan sukses.

```
curl --request GET \
  --header "Content-Type: application/json" \
  --header "X-Amz-Content-Sha256: <sha256_payload>" \
  --header "X-Amz-Security-Token: <security_token>" \
  --header "X-Amz-Date: 20230922T172215Z" \
  --header "Authorization: AWS4-HMAC-SHA256 ..." \
  --url https://appfabric.<region>.amazonaws.com/appclients
```

Jika tindakan berhasil, layanan mengirimkan kembali respons HTTP 200.

```
200 OK

{
    "appClientList": [
        {
            "appClientArn": "arn:aws:appfabric:<region>:111122223333:appclient/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
            "verificationStatus": "pending_verification"
        }
    ]
}
```

## Perbarui AppClient
<a name="update_appclient"></a>

Gunakan operasi AppFabric `UpdateAppClient` API untuk memperbarui redirectUrls yang dipetakan ke Anda. AppClient Jika Anda perlu mengubah parameter lain, seperti AppName, starterUserEmails, atau lainnya, Anda harus menghapus AppClient dan membuat yang baru. Untuk informasi selengkapnya, lihat [UpdateAppClient](API_UpdateAppClient.md).

Untuk memperbarui AppClient, Anda harus memiliki, setidaknya, izin kebijakan `"appfabric:UpdateAppClient"` IAM. Untuk informasi selengkapnya, lihat [Izinkan akses untuk memperbarui AppClients](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-productivity-update-appclient).

**Bidang Permintaan**
+ `appClientId`(required) - AppClient ID yang Anda perbarui redirectUrls.
+ `redirectUrls`(wajib) - Daftar RedirecTurls yang diperbarui. Anda dapat menambahkan hingga 5 RedirecTurls.

**Bidang Respons**
+ `appName`- Nama aplikasi yang akan ditampilkan kepada pengguna di halaman persetujuan portal AppFabric pengguna.
+ `customerManagedKeyIdentifier`(opsional) - ARN dari Customer Managed Key (dihasilkan oleh KMS) untuk digunakan untuk mengenkripsi data. Jika tidak ditentukan, maka Kunci AWS AppFabric Terkelola akan digunakan.
+ `description`- Deskripsi untuk aplikasi.
+ `redirectUrls`- URI untuk mengarahkan pengguna akhir setelah otorisasi. Misalnya, `https://localhost:8080`.
+ `starterUserEmails`- Alamat email pengguna yang akan diizinkan mengakses untuk menerima wawasan sampai aplikasi diverifikasi. Hanya satu alamat email yang diizinkan. Misalnya, `anyuser@example.com`.
+ `verificationStatus`- Status AppClient verifikasi.
  + `pending_verification`- Verifikasi AppClient masih dalam proses dengan AppFabric. Sampai AppClient diverifikasi, hanya satu pengguna (ditentukan dalam`starterUserEmails`) yang dapat menggunakan file AppClient.
  + `verified`- Proses verifikasi telah berhasil diselesaikan oleh AppFabric dan sekarang sepenuhnya diverifikasi. AppClient 
  + `rejected`- Proses verifikasi untuk AppClient ditolak oleh AppFabric. AppClient Tidak dapat digunakan oleh pengguna tambahan sampai proses verifikasi dimulai kembali dan diselesaikan dengan sukses.

```
curl --request PATCH \
  --header "Content-Type: application/json" \
  --header "X-Amz-Content-Sha256: <sha256_payload>" \
  --header "X-Amz-Security-Token: <security_token>" \
  --header "X-Amz-Date: 20230922T172215Z" \
  --header "Authorization: AWS4-HMAC-SHA256 ..." \
  --url https://appfabric.<region>.amazonaws.com/appclients/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \
  --data '{
    "redirectUrls": ["https://localhost:8081"]
}'
```

Jika tindakan berhasil, layanan mengirimkan kembali respons HTTP 200.

```
200 OK

{
    "appClient": {
        "appName": "Test App",
        "arn": "arn:aws:appfabric:<region>:111122223333:appclient/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "customerManagedKeyArn": "arn:aws:kms:<region>:111122223333:key/<key>",
        "description": "This is a test app",
        "redirectUrls": [
            "https://localhost:8081"
        ],
        "starterUserEmails": [
            "anyuser@example.com"
        ],
        "verificationDetails": {
            "verificationStatus": "pending_verification"
        }
    }
}
```

## Menghapus sebuah AppClient
<a name="delete_appclient"></a>

Gunakan operasi AppFabric `DeleteAppClient` API untuk menghapus apa pun yang tidak lagi AppClients Anda perlukan. Untuk informasi selengkapnya, lihat [DeleteAppClient](API_DeleteAppClient.md).

Untuk menghapus AppClient, Anda harus memiliki, setidaknya, izin kebijakan `"appfabric:DeleteAppClient"` IAM. Untuk informasi selengkapnya, lihat [Izinkan akses untuk menghapus AppClients](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-productivity-delete-appclient).

**Bidang permintaan**
+ `appClientId`- AppClient Id.

**Bidang respons**
+ Tidak ada bidang respons.

```
curl --request DELETE \
  --header "Content-Type: application/json" \
  --header "X-Amz-Content-Sha256: <sha256_payload>" \
  --header "X-Amz-Security-Token: <security_token>" \
  --header "X-Amz-Date: 20230922T172215Z" \
  --header "Authorization: AWS4-HMAC-SHA256 ..." \
  --url https://appfabric.<region>.amazonaws.com/appclients/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
```

Jika tindakan berhasil, layanan mengirimkan kembali respons HTTP 204 dengan isi HTTP kosong.

## Segarkan token untuk pengguna akhir
<a name="refresh_token"></a>

Token yang Anda AppClient peroleh untuk pengguna akhir dapat di-refresh pada saat kedaluwarsa. Ini dapat dilakukan dengan menggunakan [Token](API_Token.md) API dengan `refresh_token` grant\$1type. Yang `refresh_token` akan digunakan dikembalikan sebagai bagian dari respons API token saat grant\$1type. `authorization_code` Kedaluwarsa default adalah 12 jam. Untuk memanggil refresh API, Anda harus memiliki izin kebijakan `"appfabric:Token"` IAM. Untuk informasi selengkapnya, lihat [Token](API_Token.md) dan [Izinkan akses untuk memperbarui AppClients](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-productivity-update-appclient).

**Bidang Permintaan**
+ `refresh_token`(wajib) - Token penyegaran yang diterima dari `/token` permintaan awal.
+ `app_client_id`(wajib) - ID AppClient sumber daya yang dibuat untuk file Akun AWS.
+ `grant_type`(wajib) - Ini harus`refresh_token`.

**Bidang Respons**
+ `expires_in`- Seberapa cepat sebelum token kedaluwarsa. Waktu kedaluwarsa default adalah 12 jam.
+ `refresh_token`- Token penyegaran yang diterima dari permintaan /token awal.
+ `token`- Token yang diterima dari permintaan /token awal.
+ `token_type`- Nilainya akan`Bearer`.
+ `appfabric_user_id`- Id AppFabric pengguna. Ini dikembalikan hanya untuk permintaan yang menggunakan jenis `authorization_code` hibah.

```
curl --location \
"https://appfabric.<region>.amazonaws.com/oauth2/token" \
--header "Content-Type: application/json" \
--header "X-Amz-Content-Sha256: <sha256_payload>" \
--header "X-Amz-Security-Token: <security_token>" \
--header "X-Amz-Date: 20230922T172215Z" \
--header "Authorization: AWS4-HMAC-SHA256 ..." \
--data "{
    \"refresh_token\": \"<refresh_token>",
    \"app_client_id\": \"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111\",
    \"grant_type\": \"refresh_token\"
}"
```

Jika tindakan berhasil, layanan mengirimkan kembali respons HTTP 200.

```
200 OK

{
    "expires_in": 43200,
    "token": "apkaeibaerjr2example",
    "token_type": "Bearer",
    "appfabric_user_id" : "${UserID}"
}
```

# Memecahkan masalah untuk AppClients produktivitas AppFabric
<a name="ahead-app-dev-errors"></a>


|  | 
| --- |
| Fitur AWS AppFabric untuk produktivitas dalam pratinjau dan dapat berubah sewaktu-waktu. | 

Bagian ini menjelaskan kesalahan umum dan pemecahan masalah AppFabric untuk produktivitas.

## Aplikasi yang belum diverifikasi
<a name="unverified-application"></a>

Pengembang aplikasi yang menggunakan produktivitas AppFabric untuk memperkaya pengalaman aplikasi mereka akan melalui proses verifikasi sebelum meluncurkan fitur mereka ke pengguna akhir. Semua aplikasi dimulai sebagai tidak diverifikasi dan berubah menjadi diverifikasi hanya ketika proses verifikasi selesai. Ini berarti bahwa yang `starterUserEmails` Anda gunakan saat membuat AppClient akan melihat pesan ini.

![\[Warning message for an unverified application in AWS AppFabric, requesting data access.\]](http://docs.aws.amazon.com/id_id/appfabric/latest/adminguide/images/fabric-24.png)


## Kesalahan `CreateAppClient`
<a name="dev-errors-CreateAppClient"></a>

### ServiceQuotaExceededException
<a name="service-quota-exceeded"></a>

Jika Anda menerima pengecualian berikut saat membuat AppClient, Anda telah melebihi jumlah AppClients yang dapat dibuat per Akun AWS. Batasnya adalah 1. Kode Status HTTP: 402

```
ServiceQuotaExceededException / SERVICE_QUOTA_EXCEEDED
You have exceeded the number of AppClients that can be created per AWS Account. The limit is 1.
HTTP Status Code: 402
```

## Kesalahan `GetAppClient`
<a name="dev-errors-GetAppClient"></a>

### ResourceNotFoundException
<a name="get-app-client-not-found"></a>

Jika Anda menerima pengecualian berikut saat mendapatkan detail untuk sebuah AppClient, pastikan Anda telah memasukkan AppClient pengenal yang benar. Kesalahan ini menandakan bahwa yang ditentukan tidak AppClient ditemukan.

```
ResourceNotFoundException / APP_CLIENT_NOT_FOUND
The specified AppClient is not found. Ensure you’ve entered the correct AppClient identifier.
HTTP Status Code: 404
```

## Kesalahan `DeleteAppClient`
<a name="dev-errors-DeleteAppClient"></a>

### ConflictException
<a name="another-delete-request"></a>

Jika Anda menerima pengecualian berikut saat menghapus AppClient, permintaan penghapusan lainnya sedang berlangsung. Tunggu sampai selesai lalu coba lagi. Kode Status HTTP: 409

```
ConflictException
Another delete request is in progress. Wait until it completes then try again.
HTTP Status Code: 409
```

### ResourceNotFoundException
<a name="delete-app-client-not-found"></a>

Jika Anda menerima pengecualian berikut saat menghapus AppClient, pastikan Anda telah memasukkan AppClient pengenal yang benar. Kesalahan ini menandakan bahwa yang ditentukan tidak AppClient ditemukan.

```
ResourceNotFoundException / APP_CLIENT_NOT_FOUND
The specified AppClient is not found. Ensure you’ve entered the correct AppClient identifier.
HTTP Status Code: 404
```

## Kesalahan `UpdateAppClient`
<a name="dev-errors-UpdateAppClient"></a>

### ResourceNotFoundException
<a name="update-app-client-not-found"></a>

Jika Anda menerima pengecualian berikut saat memperbarui AppClient, pastikan Anda telah memasukkan AppClient pengenal yang benar. Kesalahan ini menandakan bahwa yang ditentukan tidak AppClient ditemukan.

```
ResourceNotFoundException / APP_CLIENT_NOT_FOUND
The specified AppClient is not found. Ensure you’ve entered the correct AppClient identifier.
HTTP Status Code: 404
```

## Kesalahan `Authorize`
<a name="dev-errors-Authorize"></a>

### ValidationException
<a name="authorize-validation-exception"></a>

Anda mungkin menerima pengecualian berikut jika salah satu parameter API tidak memenuhi batasan yang ditentukan dalam spesifikasi API.

```
ValidationException
HTTP Status Code: 400
```

**Alasan 1: Ketika AppClient ID tidak ditentukan**

Yang `app_client_id` hilang dalam parameter permintaan. Buat AppClient jika belum dibuat atau gunakan yang sudah ada `app_client_id` dan coba lagi. Untuk menemukan AppClient ID, gunakan operasi [ListAppClient](manage-appclients.md#list_appclients)API.

**Alasan 2: Kapan AppFabric tidak memiliki akses ke kunci yang dikelola pelanggan**

```
Message: AppFabric couldn't access the customer managed key configured for AppClient.
```

AppFabric saat ini tidak dapat mengakses kunci yang dikelola pelanggan, kemungkinan karena perubahan terbaru dalam izinnya. Verifikasi kunci yang ditentukan ada dan pastikan AppFabric diberikan izin akses yang sesuai.

**Alasan 3: URL pengalihan yang ditentukan tidak valid**

```
Message: Redirect url invalid
```

Pastikan URL pengalihan dalam permintaan Anda sudah benar. Itu harus cocok dengan salah satu pengalihan URLs yang ditentukan saat Anda membuat atau memperbarui. AppClient Untuk melihat daftar pengalihan yang diizinkan URLs, gunakan operasi [GetAppClient](manage-appclients.md#get_appclient_details)API.

## Kesalahan `Token`
<a name="dev-errors-Token"></a>

### TokenException
<a name="Token-token-exception"></a>

Anda mungkin menerima pengecualian berikut karena beberapa alasan.

```
TokenException
HTTP Status Code: 400
```

**Alasan 1: Ketika email yang tidak valid ditentukan**

```
Message: Invalid Email used
```

Pastikan alamat email yang Anda gunakan cocok dengan yang tercantum untuk `starterUserEmails` atribut saat Anda membuat AppClient. Jika email tidak cocok, ubah ke alamat email yang cocok dan coba lagi. Untuk melihat email yang digunakan, gunakan operasi [GetAppClient](manage-appclients.md#get_appclient_details)API.

**Alasan 2: Untuk grant\$1type sebagai refresh\$1token saat token tidak ditentukan.**

```
Message: refresh_token must be non-null for Refresh Token Grant-type
```

Token penyegaran yang ditentukan dalam permintaan adalah nol atau kosong. Tentukan aktif yang `refresh_token` diterima dalam respons panggilan [Token](getting-started-appdeveloper-productivity.md#authorize_data_access) API.

### ThrottlingException
<a name="throttling-exception"></a>

Anda mungkin menerima pengecualian berikut jika API dipanggil pada tingkat yang lebih dari kuota yang diizinkan.

```
ThrottlingException
HTTP Status Code: 429
```

## `ListActionableInsights`,`ListMeetingInsights`, dan `PutFeedback` kesalahan
<a name="dev-errors-many-apis"></a>

### ValidationException
<a name="many-apis-validation-exception"></a>

Anda mungkin menerima pengecualian berikut jika salah satu parameter API tidak memenuhi batasan yang ditentukan pada spesifikasi API.

```
ValidationException
HTTP Status Code: 400
```

### ThrottlingException
<a name="many-apis-throttling-exception"></a>

Anda mungkin menerima pengecualian berikut jika API dipanggil pada tingkat yang lebih dari kuota yang diizinkan.

```
ThrottlingException
HTTP Status Code: 429
```