6

ユーザーの名前を知りたいのですが、別の言語を使用しているため、nodejs sdk を使用できません。

どうすれば許可を求めることができますか?

通常のjson応答を使用する方法をお勧めします。

4

3 に答える 3

6

この最小限のスクリプトをハッキングして、nodejs SDK が返す JSON 応答を取得しました。

gaction.js :

const DialogflowApp = require('actions-on-google').DialogflowApp;

const app = new DialogflowApp({
    request: {
        body: {
            result: {
                action: 'Test',
                contexts: []
            }
        },
        get: (h) => h
    },
    response: {
        append: (h, v) => console.log(`${h}: ${v}`),
        status: (code) => {
            return {send: (resp) => console.log(JSON.stringify(resp, null, 2))}
        }
    }
});
function testCode(app) {
    app.askForPermission('To locate you', app.SupportedPermissions.DEVICE_PRECISE_LOCATION);
}
app.handleRequest(new Map().set('Test', testCode));

私はまだnode.jsの専門家ではないので、これは最適な解決策ではないかもしれません. ノードを npm install actions-on-googleインストールしてコマンドを実行すると、必要な依存関係がインストールされます。完了したら、次の出力を作成
する実行する必要があります。node gaction

Google-Assistant-API-Version: Google-Assistant-API-Version
Content-Type: application/json
{
  "speech": "PLACEHOLDER_FOR_PERMISSION",
  "contextOut": [
    {
      "name": "_actions_on_google_",
      "lifespan": 100,
      "parameters": {}
    }
  ],
  "data": {
    "google": {
      "expect_user_response": true,
      "no_input_prompts": [],
      "is_ssml": false,
      "system_intent": {
        "intent": "assistant.intent.action.PERMISSION",
        "spec": {
          "permission_value_spec": {
            "opt_context": "To locate you",
            "permissions": [
              "DEVICE_PRECISE_LOCATION"
            ]
          }
        }
      }
    }
  }
}

ここで上記の JSON を送信すると、Google Home から尋ねられます。楽しむ!

できます

于 2017-01-01T09:14:31.067 に答える
0

アクションを使用した API.AI Webhook のリクエスト/レスポンス JSON 形式は、https://developers.google.com/actions/apiai/webhook に記載されています。

お気づきのように、data.google.permissions_request属性にはリクエストに関する 2 つのフィールドが含まれています。

  1. opt_context情報を求めている理由についてのコンテキストを提供するために読み取られる文字列が含まれています。

  2. permissions要求している情報を指定する文字列の配列です。文字列は値を持つことができます

    • 名前
    • DEVICE_COARSE_LOCATION
    • DEVICE_PRECISE_LOCATION
于 2017-01-07T17:23:27.220 に答える