Javascript 如何在js中缩短url?
Prereq:在以下位置为urlshortener创建一个API密钥 有很多文档提供了通过JSAPI将goo.gl url转换为原始url的各种方法,例如:,和——至少第一种方法是有效的 如果我稍微调整一下,使用api将url转换为一个小url,传递一个Javascript 如何在js中缩短url?,javascript,goo.gl,google-client,Javascript,Goo.gl,Google Client,Prereq:在以下位置为urlshortener创建一个API密钥 有很多文档提供了通过JSAPI将goo.gl url转换为原始url的各种方法,例如:,和——至少第一种方法是有效的 如果我稍微调整一下,使用api将url转换为一个小url,传递一个{“longUrl”:https://codepen.io/“}相反,它会断开。如果您愿意,请在尝试,或在某个地方运行此功能: <script> var api_key = 'YOUR-API-KEY-HERE'; function
{“longUrl”:https://codepen.io/“}
相反,它会断开。如果您愿意,请在尝试,或在某个地方运行此功能:
<script>
var api_key = 'YOUR-API-KEY-HERE';
function makeRequest() {
var request = gapi.client.urlshortener.url.insert({
'longUrl': 'https://codepen.io/'
});
request.execute(function(response) {
alert(JSON.stringify(window.got = response));
});
}
function load() {
gapi.client.setApiKey(api_key);
gapi.client.load('urlshortener', 'v1', makeRequest);
}
</script>
<script src="https://apis.google.com/js/client.js?onload=load"></script>
建议?(不,如果您更改
url,效果不会更好。请将参数插入到具有资源.longUrl
键的对象,或者只传递url而不传递包装器对象。)在文档或错误消息中不是非常清楚,但您的请求应该如下所示,一切都会很好:
var request = gapi.client.urlshortener.url.insert({
'resource': {'longUrl': 'https://codepen.io/'}
});
我想我会放弃这个凌乱的客户端库,当我可以用五行coffescript来完成它,而不是加载所有那些粗制滥造的东西时,因为我已经有了jQuery:
谢谢维护好的文档就像制作好的API一样困难。@ecmanaut什么,你是说链接到URL资源的示例
没有帮助?对于开发者来说,google.com有很多机会与有能力的人(以及谷歌网站管理员工具)一起改进它的404。注意:这个api在11月15日之前运行良好,但是由于404错误导致CORS OPTIONS请求失败,因此实际发布无法进行。我已经在和文档网站上提交了错误报告。google js客户端仍然可以工作,因为它向后弯曲以创建一个隐藏的www.googleapis.com iframe,它代表您的页面执行非CORS rpc ajax请求。
var request = gapi.client.urlshortener.url.insert({
'resource': {'longUrl': 'https://codepen.io/'}
});
api = 'https://www.googleapis.com/urlshortener/v1/url'
api += "?key=#{key}" if key = location.search.slice 1
$.ajax
url: api
type: 'POST'
data: JSON.stringify(longUrl: url)
contentType: 'application/json'
success: (got) ->
alert "shortened url: #{got.id}"