首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在node js app中获取Typeform响应?

如何在node js app中获取Typeform响应?
EN

Stack Overflow用户
提问于 2021-01-13 17:57:23
回答 1查看 208关注 0票数 0

我正在尝试在nodejs应用程序中实现Typeform。要获得typeform响应,我需要调用https://api.typeform.com/oauth/authorize?client_id={your_client_id}&redirect_uri=https://results-example.herokuapp.com/callback&scope={scope1}+{scope2}+{scope3},它会继续显示同意屏幕,列出我的应用程序的访问范围,并提示他们授予或拒绝访问我的应用程序的权限。在接受url之后,更改为重定向url,并在url查询中给出代码。但是,当我在节点应用程序中使用请求模块调用此typeform api时,它不会继续显示同意屏幕。那么,我如何绕过nodejs应用程序中的同意屏幕,或者获取我需要的代码?

以下是代码片段

代码语言:javascript
复制
app.get('/typeform', (req, res) => {
  request('https://admin.typeform.com/oauth/authorize?client_id="client_id"&redirect_uri="hosturl/typeform"&scope=responses:read+responses:write', function (error, response, body) {
if(!error){
    console.log(response, Body);
    }
  });
})

EN

回答 1

Stack Overflow用户

发布于 2021-01-14 02:30:31

看起来你在和oAuth打交道。

如果您需要代表某人访问typeform响应,则oAuth非常有用。通过oAuth,他们将授予您访问其帐户的权限。类似于你在互联网上随处可见的“用facebook/google签名”按钮。

如果你需要访问你自己的Typeform账户的响应,你可能不需要经历这个麻烦,你只需要在你的账户设置中创建一个个人令牌,并直接调用Responses API

如果您想继续oauth路由,则按照Typeform Documentation上的说明,这是一个分两步进行的过程。

  1. 首先,你将用户重定向到你描述的屏幕,并授权你的应用程序访问他们的帐户。
  2. 然后他们被重定向到你定义为redirect_uri的url。在这里,您需要提取从请求传递的code查询参数。
  3. 您可以将此代码交换为一个access_token,它将帮助您代表用户调用Typeform API。为此,您使用所有的parameters.
  4. If对https://api.typeform.com/oauth/token进行了API调用,一切都很顺利。您应该使用access_token返回一个JSON,现在您可以使用它来调用响应API。

这有意义吗?

如果您使用的是Node.js,您可以使用一个名为Passport的库,它可以为您处理大部分工作。Here是一个关于如何在Typeform中使用它的例子。here是一个不使用它的例子,直接进行调用。

最后,如果您不熟悉oAuth,我建议您阅读Anabella Spinelli的this one等文章,这些文章对概念进行了分解。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65699518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档