繁体   English   中英

理解 podbean-api

[英]Making sense of podbean-api

我正在尝试创建一个网站,从中获取我最喜欢的播客Podbean API

我以前使用过fetch ,但这些 API 的设置要容易得多,而且没有 auth 部分。 这就是我正在努力解决的问题。

所以这基本上是我以前用过的:

fetch('https://jsonplaceholder.typicode.com/todos/1')
  .then(response => response.json())
  .then(json => console.log(json))

据我了解,通过各种其他线程查看:

  1. 我需要使用我的client_idclient_secret发送获取请求以获取access_token

  2. 从那里开始,使用access_token我可以获得访问权限,因此可以从播客对象中获取日期。

我将不胜感激如何处理授权部分的任何指导,如果我的某些思维过程完全错误,我会很明显地告诉我。

提前致谢!

好的,所以我知道这个问题已经超过 2 年了,但我仍然会分享我的解决方案,因为我一直在努力理解如何使用这个 API。 此解决方案仅适用于您是播客的所有者(或至少有权访问开发帐户)的情况。

API 的问题是,如果你不想使用 auth2(我仍然不确定它如何与 podbean 一起工作),你必须使用 POST 方法而不是 GET 来获取数据并提供参数(正文和标题)并使用HTTP 基本认证方案 他们的文档仅在 php 中,但通过一些研究您可以了解他们在做什么,可以在此处找到适用于此解决方案的部分。

这是代码:

const fetch = require("node-fetch");
const btoa = require('btoa');
const client_id = 'Enter your client id';
const client_secret = 'Enter your client secret';
const uri = 'https://api.podbean.com/v1/oauth/token';

// Base 64 encode client_id and client_secret to use basic authentication scheme
const auth = "Basic " + btoa(client_id + ':' + client_secret);

// Set POST request params
const options = {
    method: 'POST',
    body: 'grant_type=client_credentials',
    headers : {
        "Content-Type": "application/x-www-form-urlencoded",
        "Authorization": auth
    }
}

// Fetch
fetch(uri, options)
    .then(res => res.json())
    .then(data => console.log(data))

我希望这对将来尝试将此 API 与 javascript 结合使用的任何人有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM