我有以下节点。JS(使用Express运行)代码:
let app = express();
app.use(cors());
app.get('/callback', function (req, res) {
// your application requests refresh and access tokens
// after checking the state parameter
var code = req.query.code || null;
var authOptions = {
url: 'https://accounts.spotify.com/api/token',
form: {
code: code,
redirect_uri: redirectUri,
grant_type: 'authorization_code'
},
headers: {
'Authorization': 'Basic ' + (new Buffer(clientId + ':' + clientSecret).toString('base64'))
},
json: true
};
request.post(authOptions, function (error, response, body) {
if (!error && response.statusCode === 200) {
var access_token = body.access_token,
refresh_token = body.refresh_token;
fs.writeFile('test.txt', 'HELLO', function (err) {
if (err) return console.log(err);
console.log('Hello World > helloworld.txt');
});
}
}
)
});
console.log('Listening on 8888');
app.listen(8888);
该路由用作对Spotify Web API的请求的回调,因此我可以获得访问令牌。
Spotify然后重定向到上面的回调函数,您可以通过查看“redirect_URI”在URI中看到它。
如果需要有关Spotify授权流的更多信息,请参见此处。
这是我用来向Spotify验证我的应用程序的URI。
https://accounts.spotify.com/authorize?client_id=CLIENT_ID
CLIENT_ID被我真正的CLIENT_ID所取代
我的问题位于文件写入部分:
fs.writeFile('test.txt', 'HELLO', function (err) {
if (err) return console.log(err);
console.log('Hello World > helloworld.txt');
});
当Spotify调用回调路由时,我在文本文件中写入了字符串“HELLO”,因此文件写入是功能性的。
但即使它已经完成了字符串的编写,Chrome页面仍在运行,并且在服务器上处于“挂起”状态。它运行了几分钟,然后崩溃了,因为页面没有发送任何数据。为什么?
我看了这一页,讨论了使用writeFile和writeFileAsync写入文本文件的方法,但使用这两种方法并没有解决我的问题。
编辑:我真的不想停止快递过程!我只是想能够处理另一个请求:)
任何想法?提前感谢:)
您没有从路由返回任何内容,请尝试添加res.send({})
问题内容: 我想知道如何将以下代码转换为将这些行输出到文本文件,而不是标准输出: 该属性文件是: 谢谢。 问题答案: 将ConsoleAppender更改为FileAppender。 我发现 有用。如果使用此选项,则必须为fileName添加一个属性,并且可能还要设置maxFileSize。这是一个示例(将它们放在log4j.properties文件中): 还有其他附加程序。 根据时间滚动。 不滚
问题内容: 输出文件包含: 问题出在哪里?如何使用写入文本文件? 问题答案: 你必须写String … 你可以试试。 要么 要么
我正在尝试使用writefile,但由于某种原因,它在./events文件夹之外使用。 我尝试使用fs, xp.js试图在同一个文件夹中写入level.json。
问题内容: 因此,我正在使用 BufferedWriter, 并希望将一些文本写入文本文件。 由于某种原因,正在创建文本文档,但是没有写入任何文本,这是为什么呢? 问题答案: 您需要关闭或使用
问题内容: 我正在从Google文档中提取数据,进行处理,然后将其写入文件(最终我将其粘贴到Wordpress页面中)。 它具有一些非ASCII符号。如何将这些安全地转换为可以在HTML源代码中使用的符号? 目前,我正在将所有内容都转换为,将它们全部合并为Python字符串,然后执行以下操作: 最后一行存在编码错误: 编解码器无法解码位置12286的字节:序数不在范围内(128) 部分解决方案:
问题内容: 我正在运行测试,发现直到我按住C键终止程序后,该文件才真正被写入。谁能解释为什么会这样? 我希望它可以同时写入,因此可以在过程中间读取文件。 问题答案: 写到磁盘的速度很慢,因此许多程序将写操作存储到大块中,然后一次写一次。这称为 缓冲 ,当您打开文件时,Python会自动进行 缓冲 。 写入文件时,实际上是在写入内存中的“缓冲区”。填满后,Python会自动将其写入磁盘。您可以通过以