我可以在没有 Node.js 的情况下使用 Tumblr.js 吗?

Can I Use Tumblr.js Without Node.js?

阅读Tumblr.js的官方文档,似乎需要Node.js。我想触发一个对话框并让我的应用程序访问用户博客。我可以用 vanilla JavaScript 打电话吗?我很感激你的帮助。我一直在网上四处寻找,但信息很少。谢谢。

HTML

<button onclick="loginTumblr();"> Connect Tumblr </button>

JS

function loginTumblr(){
//get user info + token

}

答案是"probably,",但肯定不安全。从客户端访问 API 是有风险的,因为您必须向最终用户公开您应用的私人凭据。

你说的需要节点不一定正确;您可以使用任何服务器端脚本(例如 PHP)来安全调用 api.

在所有情况下,请确保您不会将您的密钥或端点暴露在其他人可以使用您的密钥访问您的个人帐户的地方。

如果你学习了 OAuth 和 CORS,你可能会写一个 axios 或 fetch 客户端。 Node 的 "request" 模块不容易逆向工程成客户端 JS 代码。我见过的浏览器版本不支持它使用的 OAuth 插件。

如果部署到 now.sh 或 VPS,或者编写 Electron 桌面客户端,则可以在后端使用节点、golang 或 python 客户端来代理 tumblr请求。

如果部署到 netlify,则可以使用节点或 golang netlify 函数来代理 tumblr 请求。

如果您部署到任何 VPS 环境或使用 serverless/lambda/cloudfunctions,您可以在大多数可用的云库中代理 tumblr 请求。

我怀疑您可以将 golang 或 c 客户端编译为 webassembly 并将它们的功能公开给 JavaScript,但我不建议您尝试这样做。