Python - How to obtain UserID in Alexa Skill using ask_sdk_core.handler_input












0















I'm working on a toy Alexa skill and I'm following the example in the Number Guessing Game (code here). In the example they



from ask_sdk_core.handler_input import HandlerInput

@sb.request_handler(can_handle_func=is_request_type("LaunchRequest"))
def launch_request_handler(handler_input):
"""Handler for Skill Launch.

Get the persistence attributes, to figure out the game state.
"""
# type: (HandlerInput) -> Response
attr = handler_input.attributes_manager.persistent_attributes


this attr object allows me to persist information across the session. In the Alexa Developer console I see this data in the JSON under 'session':'attributes' - I also see 'session':'user':'userId'



How do I access the userId data using the handler_input in this function?










share|improve this question



























    0















    I'm working on a toy Alexa skill and I'm following the example in the Number Guessing Game (code here). In the example they



    from ask_sdk_core.handler_input import HandlerInput

    @sb.request_handler(can_handle_func=is_request_type("LaunchRequest"))
    def launch_request_handler(handler_input):
    """Handler for Skill Launch.

    Get the persistence attributes, to figure out the game state.
    """
    # type: (HandlerInput) -> Response
    attr = handler_input.attributes_manager.persistent_attributes


    this attr object allows me to persist information across the session. In the Alexa Developer console I see this data in the JSON under 'session':'attributes' - I also see 'session':'user':'userId'



    How do I access the userId data using the handler_input in this function?










    share|improve this question

























      0












      0








      0








      I'm working on a toy Alexa skill and I'm following the example in the Number Guessing Game (code here). In the example they



      from ask_sdk_core.handler_input import HandlerInput

      @sb.request_handler(can_handle_func=is_request_type("LaunchRequest"))
      def launch_request_handler(handler_input):
      """Handler for Skill Launch.

      Get the persistence attributes, to figure out the game state.
      """
      # type: (HandlerInput) -> Response
      attr = handler_input.attributes_manager.persistent_attributes


      this attr object allows me to persist information across the session. In the Alexa Developer console I see this data in the JSON under 'session':'attributes' - I also see 'session':'user':'userId'



      How do I access the userId data using the handler_input in this function?










      share|improve this question














      I'm working on a toy Alexa skill and I'm following the example in the Number Guessing Game (code here). In the example they



      from ask_sdk_core.handler_input import HandlerInput

      @sb.request_handler(can_handle_func=is_request_type("LaunchRequest"))
      def launch_request_handler(handler_input):
      """Handler for Skill Launch.

      Get the persistence attributes, to figure out the game state.
      """
      # type: (HandlerInput) -> Response
      attr = handler_input.attributes_manager.persistent_attributes


      this attr object allows me to persist information across the session. In the Alexa Developer console I see this data in the JSON under 'session':'attributes' - I also see 'session':'user':'userId'



      How do I access the userId data using the handler_input in this function?







      python alexa-skills-kit






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Jan 2 at 23:44









      MarkMark

      2,77511933




      2,77511933
























          1 Answer
          1






          active

          oldest

          votes


















          0














          So the data in the handler_input can be extracted when you convert it to a 'dict'



          step1 = handler_input.__dict__
          step2 = step1['request_envelope'].__dict__
          step3 = step2['session'].__dict__
          step4 = step3['user'].__dict__
          userid = step4['user_id']


          It may be possible to do it in fewer steps, but this is what got it working for me.






          share|improve this answer























            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',
            autoActivateHeartbeat: false,
            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%2f54014635%2fpython-how-to-obtain-userid-in-alexa-skill-using-ask-sdk-core-handler-input%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            So the data in the handler_input can be extracted when you convert it to a 'dict'



            step1 = handler_input.__dict__
            step2 = step1['request_envelope'].__dict__
            step3 = step2['session'].__dict__
            step4 = step3['user'].__dict__
            userid = step4['user_id']


            It may be possible to do it in fewer steps, but this is what got it working for me.






            share|improve this answer




























              0














              So the data in the handler_input can be extracted when you convert it to a 'dict'



              step1 = handler_input.__dict__
              step2 = step1['request_envelope'].__dict__
              step3 = step2['session'].__dict__
              step4 = step3['user'].__dict__
              userid = step4['user_id']


              It may be possible to do it in fewer steps, but this is what got it working for me.






              share|improve this answer


























                0












                0








                0







                So the data in the handler_input can be extracted when you convert it to a 'dict'



                step1 = handler_input.__dict__
                step2 = step1['request_envelope'].__dict__
                step3 = step2['session'].__dict__
                step4 = step3['user'].__dict__
                userid = step4['user_id']


                It may be possible to do it in fewer steps, but this is what got it working for me.






                share|improve this answer













                So the data in the handler_input can be extracted when you convert it to a 'dict'



                step1 = handler_input.__dict__
                step2 = step1['request_envelope'].__dict__
                step3 = step2['session'].__dict__
                step4 = step3['user'].__dict__
                userid = step4['user_id']


                It may be possible to do it in fewer steps, but this is what got it working for me.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Jan 8 at 15:35









                MarkMark

                2,77511933




                2,77511933
































                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54014635%2fpython-how-to-obtain-userid-in-alexa-skill-using-ask-sdk-core-handler-input%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

                    Mossoró

                    Error while reading .h5 file using the rhdf5 package in R

                    Pushsharp Apns notification error: 'InvalidToken'