Google Assistant API V2 userstorage









up vote
0
down vote

favorite












I'm attempting to develop a Google Action with the Dialogflow v2 API



My function saves a value to userstorage as follows



def save_value(value):
res =
"fulfillmentText": "Set value to ".format(int(value)),
"payload":
"google":
"userStorage": str(value)



print ("Saved value")
response = jsonify(res)
return response


And I get the following back from testing in Dialogflow




"fulfillmentText": "Set value to 36237269",
"payload":
"google":
"userStorage": "36237269"





This works for the duration of session, I am able to use this in later intents via



 value = request_json['originalRequest']['data']['user']['userStorage']


However, the data is only stored for one session - if I invoke my action again, there is nothing saved.



Is this the correct way of using userstorage? Has anyone successfully used it with Python?



Failed "response"




"responseMetadata":
"status":
"code": 10,
"message": "Failed to parse Dialogflow response into AppResponse because of empty speech response",
"details": [

"@type": "type.googleapis.com/google.protobuf.Value",
"value": ""id":"816605a7-f7e0-4d37-a490-c84ff63fb7dd","timestamp":"2018-11-08T17:18:49.422Z","lang":"en-us","result":,"alternateResult":,"status":"code":206,"errorType":"partial_content","errorDetails":"Webhook call failed. Error: 500 Internal Server Error","sessionId":"ABwppHHai3qsY2WPZWezmh9Q_bUF45aD51GbQ81sUDF7iSrRLA2m8KFgZ1ZYavnCv3fAckW1tcoJdydZTXQY5Nw""

]





Working "response"




"conversationToken": "",
"finalResponse":
"richResponse":
"items": [

"simpleResponse":
"textToSpeech": "Text"


]

,
"responseMetadata":
"status":
"message": "Success (200)"
,
"queryMatchInfo":
"queryMatched": true,
"intent": "047ad9d9-0180-47f9-88bd-e5ffc8936c08"

,
"userStorage": "36237269"



Working "Request"




"user":
"userId": "ABwppHE5H0FKrXKk8PjJyzZJ12OSMQcjxuT2NnfPAgLvai0UsfWEoYE8R_L8qLQdqY29sOnsZhQhE5G4XVVXiGs",
"locale": "en-US",
"lastSeen": "2018-11-08T17:18:16Z",
"userStorage": "36237269"
,
"conversation":
"conversationId": "ABwppHE6BwK2zIBKxHA8hc9uBGumVgKbbNGHhRVFz7O6yrxxa1WJ_xtKNqhesj3EwNCVlestM-bF6tDWzZhqUXE",
"type": "ACTIVE",
"conversationToken": ""
,
"inputs": [

"intent": "actions.intent.TEXT",
"rawInputs": [

"inputType": "KEYBOARD",
"query": "when is the next bus"

],
"arguments": [

"name": "text",
"rawText": "when is the next bus",
"textValue": "when is the next bus"

]

],
"surface":
"capabilities": [

"name": "actions.capability.MEDIA_RESPONSE_AUDIO"
,

"name": "actions.capability.WEB_BROWSER"
,

"name": "actions.capability.AUDIO_OUTPUT"
,

"name": "actions.capability.SCREEN_OUTPUT"

]
,
"isInSandbox": true,
"availableSurfaces": [

"capabilities": [

"name": "actions.capability.WEB_BROWSER"
,

"name": "actions.capability.AUDIO_OUTPUT"
,

"name": "actions.capability.SCREEN_OUTPUT"

]

],
"requestType": "SIMULATOR"



Failed "request"




"user":
"userId": "ABwppHE5H0FKrXKk8PjJyzZJ12OSMQcjxuT2NnfPAgLvai0UsfWEoYE8R_L8qLQdqY29sOnsZhQhE5G4XVVXiGs",
"locale": "en-US",
"lastSeen": "2018-11-08T17:18:41Z"
,
"conversation":
"conversationId": "ABwppHHai3qsY2WPZWezmh9Q_bUF45aD51GbQ81sUDF7iSrRLA2m8KFgZ1ZYavnCv3fAckW1tcoJdydZTXQY5Nw",
"type": "ACTIVE",
"conversationToken": ""
,
"inputs": [

"intent": "actions.intent.TEXT",
"rawInputs": [

"inputType": "KEYBOARD",
"query": "when is the next bus"

],
"arguments": [

"name": "text",
"rawText": "when is the next bus",
"textValue": "when is the next bus"

]

],
"surface":
"capabilities": [

"name": "actions.capability.WEB_BROWSER"
,

"name": "actions.capability.MEDIA_RESPONSE_AUDIO"
,

"name": "actions.capability.SCREEN_OUTPUT"
,

"name": "actions.capability.AUDIO_OUTPUT"

]
,
"isInSandbox": true,
"availableSurfaces": [

"capabilities": [

"name": "actions.capability.WEB_BROWSER"
,

"name": "actions.capability.SCREEN_OUTPUT"
,

"name": "actions.capability.AUDIO_OUTPUT"

]

],
"requestType": "SIMULATOR"










share|improve this question























  • Can you update your question to include info about how you're testing this? If you are using the Action Simulator, can you include in your question the contents of the "request" tab from two different sessions?
    – Prisoner
    Nov 8 at 16:26










  • Thank you, I've updated the comment - the failed response shows the following in logs as there is no userstorage after leaving the action request_json['originalDetectIntentRequest']['payload']['user']['userStorage'] KeyError: 'userStorage'
    – user10624743
    Nov 8 at 17:29











  • Can you also add the "request" tab?
    – Prisoner
    Nov 8 at 18:32










  • Thank you, have done. Any help is appreciated!
    – user10624743
    Nov 8 at 19:08










  • That is definitely peculiar. Have you tested from a device linked with the same account? How are you initializing the test each time?
    – Prisoner
    Nov 8 at 19:50














up vote
0
down vote

favorite












I'm attempting to develop a Google Action with the Dialogflow v2 API



My function saves a value to userstorage as follows



def save_value(value):
res =
"fulfillmentText": "Set value to ".format(int(value)),
"payload":
"google":
"userStorage": str(value)



print ("Saved value")
response = jsonify(res)
return response


And I get the following back from testing in Dialogflow




"fulfillmentText": "Set value to 36237269",
"payload":
"google":
"userStorage": "36237269"





This works for the duration of session, I am able to use this in later intents via



 value = request_json['originalRequest']['data']['user']['userStorage']


However, the data is only stored for one session - if I invoke my action again, there is nothing saved.



Is this the correct way of using userstorage? Has anyone successfully used it with Python?



Failed "response"




"responseMetadata":
"status":
"code": 10,
"message": "Failed to parse Dialogflow response into AppResponse because of empty speech response",
"details": [

"@type": "type.googleapis.com/google.protobuf.Value",
"value": ""id":"816605a7-f7e0-4d37-a490-c84ff63fb7dd","timestamp":"2018-11-08T17:18:49.422Z","lang":"en-us","result":,"alternateResult":,"status":"code":206,"errorType":"partial_content","errorDetails":"Webhook call failed. Error: 500 Internal Server Error","sessionId":"ABwppHHai3qsY2WPZWezmh9Q_bUF45aD51GbQ81sUDF7iSrRLA2m8KFgZ1ZYavnCv3fAckW1tcoJdydZTXQY5Nw""

]





Working "response"




"conversationToken": "",
"finalResponse":
"richResponse":
"items": [

"simpleResponse":
"textToSpeech": "Text"


]

,
"responseMetadata":
"status":
"message": "Success (200)"
,
"queryMatchInfo":
"queryMatched": true,
"intent": "047ad9d9-0180-47f9-88bd-e5ffc8936c08"

,
"userStorage": "36237269"



Working "Request"




"user":
"userId": "ABwppHE5H0FKrXKk8PjJyzZJ12OSMQcjxuT2NnfPAgLvai0UsfWEoYE8R_L8qLQdqY29sOnsZhQhE5G4XVVXiGs",
"locale": "en-US",
"lastSeen": "2018-11-08T17:18:16Z",
"userStorage": "36237269"
,
"conversation":
"conversationId": "ABwppHE6BwK2zIBKxHA8hc9uBGumVgKbbNGHhRVFz7O6yrxxa1WJ_xtKNqhesj3EwNCVlestM-bF6tDWzZhqUXE",
"type": "ACTIVE",
"conversationToken": ""
,
"inputs": [

"intent": "actions.intent.TEXT",
"rawInputs": [

"inputType": "KEYBOARD",
"query": "when is the next bus"

],
"arguments": [

"name": "text",
"rawText": "when is the next bus",
"textValue": "when is the next bus"

]

],
"surface":
"capabilities": [

"name": "actions.capability.MEDIA_RESPONSE_AUDIO"
,

"name": "actions.capability.WEB_BROWSER"
,

"name": "actions.capability.AUDIO_OUTPUT"
,

"name": "actions.capability.SCREEN_OUTPUT"

]
,
"isInSandbox": true,
"availableSurfaces": [

"capabilities": [

"name": "actions.capability.WEB_BROWSER"
,

"name": "actions.capability.AUDIO_OUTPUT"
,

"name": "actions.capability.SCREEN_OUTPUT"

]

],
"requestType": "SIMULATOR"



Failed "request"




"user":
"userId": "ABwppHE5H0FKrXKk8PjJyzZJ12OSMQcjxuT2NnfPAgLvai0UsfWEoYE8R_L8qLQdqY29sOnsZhQhE5G4XVVXiGs",
"locale": "en-US",
"lastSeen": "2018-11-08T17:18:41Z"
,
"conversation":
"conversationId": "ABwppHHai3qsY2WPZWezmh9Q_bUF45aD51GbQ81sUDF7iSrRLA2m8KFgZ1ZYavnCv3fAckW1tcoJdydZTXQY5Nw",
"type": "ACTIVE",
"conversationToken": ""
,
"inputs": [

"intent": "actions.intent.TEXT",
"rawInputs": [

"inputType": "KEYBOARD",
"query": "when is the next bus"

],
"arguments": [

"name": "text",
"rawText": "when is the next bus",
"textValue": "when is the next bus"

]

],
"surface":
"capabilities": [

"name": "actions.capability.WEB_BROWSER"
,

"name": "actions.capability.MEDIA_RESPONSE_AUDIO"
,

"name": "actions.capability.SCREEN_OUTPUT"
,

"name": "actions.capability.AUDIO_OUTPUT"

]
,
"isInSandbox": true,
"availableSurfaces": [

"capabilities": [

"name": "actions.capability.WEB_BROWSER"
,

"name": "actions.capability.SCREEN_OUTPUT"
,

"name": "actions.capability.AUDIO_OUTPUT"

]

],
"requestType": "SIMULATOR"










share|improve this question























  • Can you update your question to include info about how you're testing this? If you are using the Action Simulator, can you include in your question the contents of the "request" tab from two different sessions?
    – Prisoner
    Nov 8 at 16:26










  • Thank you, I've updated the comment - the failed response shows the following in logs as there is no userstorage after leaving the action request_json['originalDetectIntentRequest']['payload']['user']['userStorage'] KeyError: 'userStorage'
    – user10624743
    Nov 8 at 17:29











  • Can you also add the "request" tab?
    – Prisoner
    Nov 8 at 18:32










  • Thank you, have done. Any help is appreciated!
    – user10624743
    Nov 8 at 19:08










  • That is definitely peculiar. Have you tested from a device linked with the same account? How are you initializing the test each time?
    – Prisoner
    Nov 8 at 19:50












up vote
0
down vote

favorite









up vote
0
down vote

favorite











I'm attempting to develop a Google Action with the Dialogflow v2 API



My function saves a value to userstorage as follows



def save_value(value):
res =
"fulfillmentText": "Set value to ".format(int(value)),
"payload":
"google":
"userStorage": str(value)



print ("Saved value")
response = jsonify(res)
return response


And I get the following back from testing in Dialogflow




"fulfillmentText": "Set value to 36237269",
"payload":
"google":
"userStorage": "36237269"





This works for the duration of session, I am able to use this in later intents via



 value = request_json['originalRequest']['data']['user']['userStorage']


However, the data is only stored for one session - if I invoke my action again, there is nothing saved.



Is this the correct way of using userstorage? Has anyone successfully used it with Python?



Failed "response"




"responseMetadata":
"status":
"code": 10,
"message": "Failed to parse Dialogflow response into AppResponse because of empty speech response",
"details": [

"@type": "type.googleapis.com/google.protobuf.Value",
"value": ""id":"816605a7-f7e0-4d37-a490-c84ff63fb7dd","timestamp":"2018-11-08T17:18:49.422Z","lang":"en-us","result":,"alternateResult":,"status":"code":206,"errorType":"partial_content","errorDetails":"Webhook call failed. Error: 500 Internal Server Error","sessionId":"ABwppHHai3qsY2WPZWezmh9Q_bUF45aD51GbQ81sUDF7iSrRLA2m8KFgZ1ZYavnCv3fAckW1tcoJdydZTXQY5Nw""

]





Working "response"




"conversationToken": "",
"finalResponse":
"richResponse":
"items": [

"simpleResponse":
"textToSpeech": "Text"


]

,
"responseMetadata":
"status":
"message": "Success (200)"
,
"queryMatchInfo":
"queryMatched": true,
"intent": "047ad9d9-0180-47f9-88bd-e5ffc8936c08"

,
"userStorage": "36237269"



Working "Request"




"user":
"userId": "ABwppHE5H0FKrXKk8PjJyzZJ12OSMQcjxuT2NnfPAgLvai0UsfWEoYE8R_L8qLQdqY29sOnsZhQhE5G4XVVXiGs",
"locale": "en-US",
"lastSeen": "2018-11-08T17:18:16Z",
"userStorage": "36237269"
,
"conversation":
"conversationId": "ABwppHE6BwK2zIBKxHA8hc9uBGumVgKbbNGHhRVFz7O6yrxxa1WJ_xtKNqhesj3EwNCVlestM-bF6tDWzZhqUXE",
"type": "ACTIVE",
"conversationToken": ""
,
"inputs": [

"intent": "actions.intent.TEXT",
"rawInputs": [

"inputType": "KEYBOARD",
"query": "when is the next bus"

],
"arguments": [

"name": "text",
"rawText": "when is the next bus",
"textValue": "when is the next bus"

]

],
"surface":
"capabilities": [

"name": "actions.capability.MEDIA_RESPONSE_AUDIO"
,

"name": "actions.capability.WEB_BROWSER"
,

"name": "actions.capability.AUDIO_OUTPUT"
,

"name": "actions.capability.SCREEN_OUTPUT"

]
,
"isInSandbox": true,
"availableSurfaces": [

"capabilities": [

"name": "actions.capability.WEB_BROWSER"
,

"name": "actions.capability.AUDIO_OUTPUT"
,

"name": "actions.capability.SCREEN_OUTPUT"

]

],
"requestType": "SIMULATOR"



Failed "request"




"user":
"userId": "ABwppHE5H0FKrXKk8PjJyzZJ12OSMQcjxuT2NnfPAgLvai0UsfWEoYE8R_L8qLQdqY29sOnsZhQhE5G4XVVXiGs",
"locale": "en-US",
"lastSeen": "2018-11-08T17:18:41Z"
,
"conversation":
"conversationId": "ABwppHHai3qsY2WPZWezmh9Q_bUF45aD51GbQ81sUDF7iSrRLA2m8KFgZ1ZYavnCv3fAckW1tcoJdydZTXQY5Nw",
"type": "ACTIVE",
"conversationToken": ""
,
"inputs": [

"intent": "actions.intent.TEXT",
"rawInputs": [

"inputType": "KEYBOARD",
"query": "when is the next bus"

],
"arguments": [

"name": "text",
"rawText": "when is the next bus",
"textValue": "when is the next bus"

]

],
"surface":
"capabilities": [

"name": "actions.capability.WEB_BROWSER"
,

"name": "actions.capability.MEDIA_RESPONSE_AUDIO"
,

"name": "actions.capability.SCREEN_OUTPUT"
,

"name": "actions.capability.AUDIO_OUTPUT"

]
,
"isInSandbox": true,
"availableSurfaces": [

"capabilities": [

"name": "actions.capability.WEB_BROWSER"
,

"name": "actions.capability.SCREEN_OUTPUT"
,

"name": "actions.capability.AUDIO_OUTPUT"

]

],
"requestType": "SIMULATOR"










share|improve this question















I'm attempting to develop a Google Action with the Dialogflow v2 API



My function saves a value to userstorage as follows



def save_value(value):
res =
"fulfillmentText": "Set value to ".format(int(value)),
"payload":
"google":
"userStorage": str(value)



print ("Saved value")
response = jsonify(res)
return response


And I get the following back from testing in Dialogflow




"fulfillmentText": "Set value to 36237269",
"payload":
"google":
"userStorage": "36237269"





This works for the duration of session, I am able to use this in later intents via



 value = request_json['originalRequest']['data']['user']['userStorage']


However, the data is only stored for one session - if I invoke my action again, there is nothing saved.



Is this the correct way of using userstorage? Has anyone successfully used it with Python?



Failed "response"




"responseMetadata":
"status":
"code": 10,
"message": "Failed to parse Dialogflow response into AppResponse because of empty speech response",
"details": [

"@type": "type.googleapis.com/google.protobuf.Value",
"value": ""id":"816605a7-f7e0-4d37-a490-c84ff63fb7dd","timestamp":"2018-11-08T17:18:49.422Z","lang":"en-us","result":,"alternateResult":,"status":"code":206,"errorType":"partial_content","errorDetails":"Webhook call failed. Error: 500 Internal Server Error","sessionId":"ABwppHHai3qsY2WPZWezmh9Q_bUF45aD51GbQ81sUDF7iSrRLA2m8KFgZ1ZYavnCv3fAckW1tcoJdydZTXQY5Nw""

]





Working "response"




"conversationToken": "",
"finalResponse":
"richResponse":
"items": [

"simpleResponse":
"textToSpeech": "Text"


]

,
"responseMetadata":
"status":
"message": "Success (200)"
,
"queryMatchInfo":
"queryMatched": true,
"intent": "047ad9d9-0180-47f9-88bd-e5ffc8936c08"

,
"userStorage": "36237269"



Working "Request"




"user":
"userId": "ABwppHE5H0FKrXKk8PjJyzZJ12OSMQcjxuT2NnfPAgLvai0UsfWEoYE8R_L8qLQdqY29sOnsZhQhE5G4XVVXiGs",
"locale": "en-US",
"lastSeen": "2018-11-08T17:18:16Z",
"userStorage": "36237269"
,
"conversation":
"conversationId": "ABwppHE6BwK2zIBKxHA8hc9uBGumVgKbbNGHhRVFz7O6yrxxa1WJ_xtKNqhesj3EwNCVlestM-bF6tDWzZhqUXE",
"type": "ACTIVE",
"conversationToken": ""
,
"inputs": [

"intent": "actions.intent.TEXT",
"rawInputs": [

"inputType": "KEYBOARD",
"query": "when is the next bus"

],
"arguments": [

"name": "text",
"rawText": "when is the next bus",
"textValue": "when is the next bus"

]

],
"surface":
"capabilities": [

"name": "actions.capability.MEDIA_RESPONSE_AUDIO"
,

"name": "actions.capability.WEB_BROWSER"
,

"name": "actions.capability.AUDIO_OUTPUT"
,

"name": "actions.capability.SCREEN_OUTPUT"

]
,
"isInSandbox": true,
"availableSurfaces": [

"capabilities": [

"name": "actions.capability.WEB_BROWSER"
,

"name": "actions.capability.AUDIO_OUTPUT"
,

"name": "actions.capability.SCREEN_OUTPUT"

]

],
"requestType": "SIMULATOR"



Failed "request"




"user":
"userId": "ABwppHE5H0FKrXKk8PjJyzZJ12OSMQcjxuT2NnfPAgLvai0UsfWEoYE8R_L8qLQdqY29sOnsZhQhE5G4XVVXiGs",
"locale": "en-US",
"lastSeen": "2018-11-08T17:18:41Z"
,
"conversation":
"conversationId": "ABwppHHai3qsY2WPZWezmh9Q_bUF45aD51GbQ81sUDF7iSrRLA2m8KFgZ1ZYavnCv3fAckW1tcoJdydZTXQY5Nw",
"type": "ACTIVE",
"conversationToken": ""
,
"inputs": [

"intent": "actions.intent.TEXT",
"rawInputs": [

"inputType": "KEYBOARD",
"query": "when is the next bus"

],
"arguments": [

"name": "text",
"rawText": "when is the next bus",
"textValue": "when is the next bus"

]

],
"surface":
"capabilities": [

"name": "actions.capability.WEB_BROWSER"
,

"name": "actions.capability.MEDIA_RESPONSE_AUDIO"
,

"name": "actions.capability.SCREEN_OUTPUT"
,

"name": "actions.capability.AUDIO_OUTPUT"

]
,
"isInSandbox": true,
"availableSurfaces": [

"capabilities": [

"name": "actions.capability.WEB_BROWSER"
,

"name": "actions.capability.SCREEN_OUTPUT"
,

"name": "actions.capability.AUDIO_OUTPUT"

]

],
"requestType": "SIMULATOR"







python dialogflow actions-on-google






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 8 at 19:08

























asked Nov 8 at 16:14









user10624743

11




11











  • Can you update your question to include info about how you're testing this? If you are using the Action Simulator, can you include in your question the contents of the "request" tab from two different sessions?
    – Prisoner
    Nov 8 at 16:26










  • Thank you, I've updated the comment - the failed response shows the following in logs as there is no userstorage after leaving the action request_json['originalDetectIntentRequest']['payload']['user']['userStorage'] KeyError: 'userStorage'
    – user10624743
    Nov 8 at 17:29











  • Can you also add the "request" tab?
    – Prisoner
    Nov 8 at 18:32










  • Thank you, have done. Any help is appreciated!
    – user10624743
    Nov 8 at 19:08










  • That is definitely peculiar. Have you tested from a device linked with the same account? How are you initializing the test each time?
    – Prisoner
    Nov 8 at 19:50
















  • Can you update your question to include info about how you're testing this? If you are using the Action Simulator, can you include in your question the contents of the "request" tab from two different sessions?
    – Prisoner
    Nov 8 at 16:26










  • Thank you, I've updated the comment - the failed response shows the following in logs as there is no userstorage after leaving the action request_json['originalDetectIntentRequest']['payload']['user']['userStorage'] KeyError: 'userStorage'
    – user10624743
    Nov 8 at 17:29











  • Can you also add the "request" tab?
    – Prisoner
    Nov 8 at 18:32










  • Thank you, have done. Any help is appreciated!
    – user10624743
    Nov 8 at 19:08










  • That is definitely peculiar. Have you tested from a device linked with the same account? How are you initializing the test each time?
    – Prisoner
    Nov 8 at 19:50















Can you update your question to include info about how you're testing this? If you are using the Action Simulator, can you include in your question the contents of the "request" tab from two different sessions?
– Prisoner
Nov 8 at 16:26




Can you update your question to include info about how you're testing this? If you are using the Action Simulator, can you include in your question the contents of the "request" tab from two different sessions?
– Prisoner
Nov 8 at 16:26












Thank you, I've updated the comment - the failed response shows the following in logs as there is no userstorage after leaving the action request_json['originalDetectIntentRequest']['payload']['user']['userStorage'] KeyError: 'userStorage'
– user10624743
Nov 8 at 17:29





Thank you, I've updated the comment - the failed response shows the following in logs as there is no userstorage after leaving the action request_json['originalDetectIntentRequest']['payload']['user']['userStorage'] KeyError: 'userStorage'
– user10624743
Nov 8 at 17:29













Can you also add the "request" tab?
– Prisoner
Nov 8 at 18:32




Can you also add the "request" tab?
– Prisoner
Nov 8 at 18:32












Thank you, have done. Any help is appreciated!
– user10624743
Nov 8 at 19:08




Thank you, have done. Any help is appreciated!
– user10624743
Nov 8 at 19:08












That is definitely peculiar. Have you tested from a device linked with the same account? How are you initializing the test each time?
– Prisoner
Nov 8 at 19:50




That is definitely peculiar. Have you tested from a device linked with the same account? How are you initializing the test each time?
– Prisoner
Nov 8 at 19:50

















active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













 

draft saved


draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53211782%2fgoogle-assistant-api-v2-userstorage%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown






























active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes















 

draft saved


draft discarded















































 


draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53211782%2fgoogle-assistant-api-v2-userstorage%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

𛂒𛀶,𛀽𛀑𛂀𛃧𛂓𛀙𛃆𛃑𛃷𛂟𛁡𛀢𛀟𛁤𛂽𛁕𛁪𛂟𛂯,𛁞𛂧𛀴𛁄𛁠𛁼𛂿𛀤 𛂘,𛁺𛂾𛃭𛃭𛃵𛀺,𛂣𛃍𛂖𛃶 𛀸𛃀𛂖𛁶𛁏𛁚 𛂢𛂞 𛁰𛂆𛀔,𛁸𛀽𛁓𛃋𛂇𛃧𛀧𛃣𛂐𛃇,𛂂𛃻𛃲𛁬𛃞𛀧𛃃𛀅 𛂭𛁠𛁡𛃇𛀷𛃓𛁥,𛁙𛁘𛁞𛃸𛁸𛃣𛁜,𛂛,𛃿,𛁯𛂘𛂌𛃛𛁱𛃌𛂈𛂇 𛁊𛃲,𛀕𛃴𛀜 𛀶𛂆𛀶𛃟𛂉𛀣,𛂐𛁞𛁾 𛁷𛂑𛁳𛂯𛀬𛃅,𛃶𛁼

ャフサォクコ ケウ,コ,ワ メ,ロスョノ゙,クネ,フムカヤヲニ,エコ゚ツ ウイオン゙ケワサネォキモュキォウイノンコチ゚メヌナイゥフュ,カヒウネェ ネ,ホノケ,ムュキ ッボーミュハ,チ ツス ィ メウイマヤ,゙ウチ ヅ ロ,ォジヌェ ャヌット ェ,マャ,チナエヒネソキツテ トホヲヲミーァ

Node.js puppeteer - Use values from array in a loop to cycle through pages