Python dialogflow-如何获取会话id?

Python dialogflow-如何获取会话id?,python,dialogflow-es,sessionid,Python,Dialogflow Es,Sessionid,首先,我是dialogflow和web服务的noob。我正在尝试集成我刚刚创建的dialogflow代理,并将其与本地计算机上的应用程序集成。我能够获得项目id和所有其他重要信息,但无论我看哪里,似乎没有人谈论他们从哪里获得会话id。下面是我正在使用的音频到文本代码,它来自api.ai github页面: import os import dialogflow_v2 as dialogflow os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "My

首先,我是dialogflow和web服务的noob。我正在尝试集成我刚刚创建的dialogflow代理,并将其与本地计算机上的应用程序集成。我能够获得项目id和所有其他重要信息,但无论我看哪里,似乎没有人谈论他们从哪里获得会话id。下面是我正在使用的音频到文本代码,它来自api.ai github页面:

import os
import dialogflow_v2 as dialogflow
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "My Google Credential"
project_id = 'project id'
session_id = "this i don't know where to get"
audio_file_path = 'my wave file directory name'
language_code = 'en'

def detect_intent_audio(project_id, session_id, audio_file_path,
                        language_code):
    """Returns the result of detect intent with an audio file as input.

    Using the same `session_id` between requests allows continuation
    of the conversaion."""

    session_client = dialogflow.SessionsClient()

    # Note: hard coding audio_encoding and sample_rate_hertz for simplicity.
    audio_encoding = dialogflow.enums.AudioEncoding.AUDIO_ENCODING_LINEAR_16
    sample_rate_hertz = 44100

    session = session_client.session_path(project_id, session_id)
    print('Session path: {}\n'.format(session))

    with open(audio_file_path, 'rb') as audio_file:
        input_audio = audio_file.read()

    audio_config = dialogflow.types.InputAudioConfig(
        audio_encoding=audio_encoding, language_code=language_code,
        sample_rate_hertz=sample_rate_hertz)
    query_input = dialogflow.types.QueryInput(audio_config=audio_config)

    response = session_client.detect_intent(
        session=session, query_input=query_input,
        input_audio=input_audio)

    print('=' * 20)
    print('Query text: {}'.format(response.query_result.query_text))
    print('Detected intent: {} (confidence: {})\n'.format(
        response.query_result.intent.display_name,
        response.query_result.intent_detection_confidence))
    print('Fulfillment text: {}\n'.format(
        response.query_result.fulfillment_text))

detect_intent_audio(project_id, session_id, audio_file_path,
                        language_code)
我启用了webhook并将webhook链接到heroku,但我仍然不知道在哪里可以获得此会话ID。有人能帮我吗?

在链接上, ,在HTTP请求会话路径参数下声明
“由API调用方选择合适的会话ID。它可以是随机数或某种类型的用户标识符(最好是散列)。会话ID的长度不得超过36字节。”

我后来发现会话ID可以是任何字符串。谢谢你!您好,我正在寻找这个,我不想创建会话id,而是想从javascript dialogflow访问会话idV2@Gino您可以尝试以下操作:exports.dialogflowFirebaseFulfillment=functions.https.onRequest((请求,响应)=>{const-agent=new-WebhookClient({request,response});console.log('Dialogflow请求头:'+JSON.stringify(Request.headers));console.log('Dialogflow请求体:'+JSON.stringify(Request.body));var session_id=Request.body.session;var session_id_array=session_id.split(“/”);session_id=session_id_id_array[session_id_array.length-1];