这些天我在玩一些 Javascript ......我正在使用 bit.ly 缩小一些 URL 来推文,然后我开始考虑一个可以使用他们的 API 来缩小我想要的 URL 的自动化过程,然后我看了在他们的文档上,我看到他们只支持 PHP(带有一些 Javascript),但无论如何我可以只使用 Javascript 来实现它?
3 回答
这是一个如何使用 Bitly API 和 jQuery 获取缩短 URL 的示例,无需服务器端代码。
function get_short_url(long_url, login, api_key, func)
{
$.getJSON(
"http://api.bitly.com/v3/shorten?callback=?",
{
"format": "json",
"apiKey": api_key,
"login": login,
"longUrl": long_url
},
function(response)
{
func(response.data.url);
}
);
}
以下代码可用于获取短 URL:
/*
Sign up for Bitly account at
https://bitly.com/a/sign_up
and upon completion visit
https://bitly.com/a/your_api_key/
to get "login" and "api_key" values
*/
var login = "LOGIN_HERE";
var api_key = "API_KEY_HERE";
var long_url = "http://www.kozlenko.info";
get_short_url(long_url, login, api_key, function(short_url) {
console.log(short_url);
});
从 bitly 上的开发人员最佳实践页面:
为了确保您的 API 密钥和/或 OAuth 访问令牌的安全性,我们强烈建议您尽可能向 bitly API 服务器端发出请求。
通过客户端 Javascript 向 bitly API 发出的任何请求都存在您的 OAuth 令牌或 API 密钥被泄露的风险,但您可以采取一些步骤来部分降低这种风险。最重要的是,永远不要在页面中包含您的 api_key 或 access_token 内联。将任何对您的 api_key 或 access_token 的引用保存在包含在页面中的外部 javascript 文件中的代码中。为了提高安全性,不要将密钥或令牌本身包含在您的 javascript 代码中的任何位置,而是进行 ajax 调用来加载它,并将其保存在存储在私有范围方法中的变量中。有关此实现的示例,请参阅我们的示例 html 和包含的 javascript 文件。
根据 JavaScript 的执行位置,您始终可以使用 bit.ly REST API:
http://code.google.com/p/bitly-api/wiki/ApiDocumentation
通过 XmlHttpRequest,例如:
http://api.bit.ly/v3/shorten?login=bitlyapidemo&apiKey=R_0da49e0a9118ff35f52f629d2d71bf07&longUrl=http%3A%2F%2Fbetaworks.com%2F&format=json