0

I generated a connector app with Yeoman Generator for Microsoft Teams using yo teams command.

When I use below code at src\client\msteamsConnector\MsteamsConnectorConfig.tsx I can see the webhook url at console.

import * as React from "react";
import { Provider, Flex, Header, Dropdown, ShorthandCollection, DropdownItemProps } from "@fluentui/react-northstar";
import { useState, useEffect, useRef } from "react";
import { useTeams } from "msteams-react-base-component";
import * as microsoftTeams from "@microsoft/teams-js";


/**
 * Implementation of the msteamsConnector Connector connect page
 */
export const MsteamsConnectorConfig = () => {

    microsoftTeams.initialize();

    microsoftTeams.settings.getSettings((setting: any) => {
        console.log(setting.webhookUrl);
    });

    return (
            <Flex fill={true}>
                <Flex.Item>
                    <div>

                    </div>
                </Flex.Item>
            </Flex>
    );
};

What I actually want to do is showing user's webhook url on connector configuration page. But when I try it with below code it doesn't work:

import * as React from "react";
import { Provider, Flex, Header, Dropdown, ShorthandCollection, DropdownItemProps } from "@fluentui/react-northstar";
import { useState, useEffect, useRef } from "react";
import { useTeams } from "msteams-react-base-component";
import * as microsoftTeams from "@microsoft/teams-js";


/**
 * Implementation of the msteamsConnector Connector connect page
 */
export const MsteamsConnectorConfig = () => {

    microsoftTeams.initialize();

    let var1;

    microsoftTeams.settings.getSettings((setting: any) => {
        console.log(setting.webhookUrl);
        var1 = setting.webhookUrl;
    });

    return (
            <Flex fill={true}>
                <Flex.Item>
                    <div>
                    {var1}
                    </div>
                </Flex.Item>
            </Flex>
    );
};

It is probably an easy question but I am not experienced on front-end technologies and couldn't find a way to fix this. How can I show users' webhook url to themselves?

1 Answer 1

0

Try the code below

import * as React from "react";
import { Provider, Flex, Header, Dropdown, ShorthandCollection, DropdownItemProps } from "@fluentui/react-northstar";
import { useState, useEffect, useRef } from "react";
import { useTeams } from "msteams-react-base-component";
import * as microsoftTeams from "@microsoft/teams-js";


/**
 * Implementation of the msteamsConnector Connector connect page
 */
export const MsteamsConnectorConfig = () => {

    microsoftTeams.initialize();

    const [webhookUrl, setWebhookURL] = React.useState("");

    microsoftTeams.settings.getSettings((setting: any) => {
        console.log(setting.webhookUrl);
        setWebhookURL(setting.webhookUrl);
    });

    return (
            <Flex fill={true}>
                <Flex.Item>
                    <div>
                    {webhookUrl}
                    </div>
                </Flex.Item>
            </Flex>
    );
};
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.