无法与Looker主机建立通信。

4

这是非常基础的,我不知道如何使用我的客户端ID和客户端密钥连接Looker Extension SDK。 这是一个Hello World应用程序,但基础知识的文档非常缺乏。

import React, { useContext, useEffect, useState } from 'react'
import { ComponentsProvider, Space, Text } from '@looker/components'
import { ExtensionContext } from '@looker/extension-sdk-react'


export const HelloWorld: React.FC = () => {
  const { core40SDK } = useContext(ExtensionContext)
  const [message, setMessage] = useState('')

  useEffect(() => {
    const getMe = async () => {
      try {
        const me = await core40SDK.ok(core40SDK.me())
        setMessage('Hello, '+ me.display_name)
      } catch (error) {
        console.error(error)
        setMessage('An error occurred while getting information about me!')
      }
    }
    getMe()
  }, [core40SDK])

  return (
    <ComponentsProvider>
      <Space p="xxxxxlarge" width="100%" height="50vh" around>
        <Text p="xxxxxlarge" fontSize="xxxxxlarge">
          {message}
        </Text>
      </Space>
    </ComponentsProvider>
  )
}

这导致无法与Looker主机建立通信,但我不知道如何建立主机URL或凭据。
1个回答

2
使用扩展框架构建时,Looker将内部托管您的React应用程序,因此您无需进行身份验证。如果您不是在Looker内部托管React应用程序,则不要使用扩展框架。
如果您托管自己的应用程序并对Looker进行API调用,则应仅使用Looker嵌入式SDK。您需要在Web服务器上使用Node.js / Python / Ruby等进行身份验证。您不应该从客户端JavaScript进行身份验证。

1
感谢您的澄清,我只是不理解GitHub上的代码示例,非常感谢! - Josh Hendrix
没问题,你说的 Looker 嵌入式 SDK 的示例确实令人困惑,但我相信存在一些展示身份验证的示例。关键是需要在后端 Web 服务器上进行身份验证。 - Simon D

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接