gpt4 book ai didi

node.js - Node - 请求 - 和 Google URL 缩短器

转载 作者:太空宇宙 更新时间:2023-11-04 00:42:20 25 4
gpt4 key购买 nike

所以我在我的 Angular 应用程序上使用了 Google 的 URL 缩短器,但是由于它使用 API key ,我认为在我使用 Angular 的服务器端进行 google api 调用会更智能/更安全。

发现 $http 使用 Angular 发布的文章非常直接,但是使用 Node 我很快意识到我最好使用 npm 包 request 但它似乎不起作用。

所以本质上我需要做:

POST https://www.googleapis.com/urlshortener/v1/url
Content-Type: application/json
{"longUrl": "http://www.google.com/"}

我目前已经写过:

//Load the request module
var request = require('request');

//Configure and make the request
request({
url: 'https://www.googleapis.com/urlshortener/v1/url?key=XXXXXXXXX',
method: 'POST',
headers: { //We can define headers too
'Content-Type': 'application/json'
},
data: {
'longUrl': 'http://www.myverylongurl.com'
}
}, function(error, response, body){
if(error) {
console.log(error);
} else {
console.log(response.statusCode, response.body);
}
});

我不断收到错误:

"errors": [{ "domain": "global", "reason": "required", "message": "Required",    "locationType": "parameter”, “location": "resource.longUrl"   
}]

我的请求有错吗?

谢谢。

最佳答案

根据request documentation ,您可以使用 json 选项发布 JSON 数据。

json - sets body to JSON representation of value and adds Content-type: application/json header. Additionally, parses the response body as JSON.

在你的情况下,它是:

request.post('https://www.googleapis.com/urlshortener/v1/url?key=xxxx', {
json: {
'longUrl': 'http://www.hugocaillard.com'
}
}, function (error, response, body) {
if(error) {
console.log(error)
} else {
console.log(response.statusCode, body)
}
})

注意:您还可以使用 request() 方法(我所做的只是用 json: 更改 data:),但这里 request.post() 效果很好。

关于node.js - Node - 请求 - 和 Google URL 缩短器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36143445/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com