对于一个客户端,我正在构建一个用nextjs渲染并部署在vercel上的静态网站。这个网站上的一切都是静态的,所以我不需要任何数据库。然而,这个客户希望使用instagram API在他们的两个页面上显示他们的照片库。这是一个自定义设计,所以我不能使用任何嵌入代码,但据我所知,我必须使用Instagram基本显示API
对于眼前的问题:我想知道是否有某种方法可以存储单个变量,而不必在vercel中为其创建整个数据库。我知道我可以使用环境变量,但问题是instagramapi需要每2个月更改一次访问令牌。为了更新instagram的访问令牌,我计划写一个大约每月运行的CRON作业来更新这个值。
我想知道是否有可能在部署的站点上以某种方式存储这个值,而不必为这个值创建数据库。例如,是否有可能从无服务器函数中更改环境变量?
感谢您在正确方向上提供的任何帮助!
感谢
进入Vercel:settings->环境变量->添加您的变量。在这个变量中,您可以存储Instagram API variable
,在代码中使用process.env.{variable}
示例:
-
您在
local files
(next.config.js
或.env.local
(中将变量的name
定义为instagramAPI
module.exports = { env:{ instagramAPI : 'https://instagramapiexample.com' }, }
-
在
vercel settings
上定义instagramAPI
(与代码中的变量名称完全相同( -
在代码(本地文件(中,您调用
process.env.instagramAPI
变量以获得字符串的值。 -
您的代码按预期工作。
!重要!如果您的process.env.variables
中有一些secrets
或passwords
,则较新版本会将其保存在next.config.js中。为此,您将instagramAPI
保存到.env.local中(如第1点所述(。更多信息点击这里