既然你說你是開放的使用另一個API,谷歌有一個JavaScript API,使您使用縮短的URL的goo.gl網址較短的服務。
我已經適應了例如從下面Github:
<!--
Copyright (c) 2011 Google Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations under
the License.
To run this sample, replace YOUR API KEY with your application's API key.
It can be found at https://code.google.com/apis/console/?api=plus under API Access.
-->
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8' />
<style>
#info {
border: 1px solid black;
padding: 0.25em;
}
</style>
<script>
// Enter the API key from the Google Develoepr Console - to handle any unauthenticated
// requests in the code.
// The provided key works for this sample only when run from
// https://google-api-javascript-client.googlecode.com/hg/samples/simpleRequest.html
// To use in your own application, replace this API key with your own.
var apiKey = 'YOUR_API_KEY_HERE';
function load() {
gapi.client.setApiKey(apiKey);
gapi.client.load('urlshortener', 'v1', showInputs);
}
function showInputs() {
document.getElementById('requestFields').style.display = '';
}
function makeRequest() {
function writeResponse(resp) {
var responseText;
if (resp.code && resp.data[0].debugInfo == 'QuotaState: BLOCKED') {
responseText = 'Invalid API key provided. Please replace the "apiKey" value with your own.';
} else {
responseText = 'Short URL is: ' + resp.id;
}
var infoDiv = document.getElementById('info');
infoDiv.innerHTML = '';
infoDiv.appendChild(document.createTextNode(responseText));
}
var longUrl = document.getElementById('longUrl').value;
var request = gapi.client.urlshortener.url.insert({
'longUrl': longUrl
});
request.execute(writeResponse);
}
</script>
<script src="https://apis.google.com/js/client.js?onload=load"></script>
</head>
<body>
<p>Enter a long URL and click "Shorten URL" to get the short URL.</p>
<div id="requestFields" style="display:none;">
<label for="longUrl">Long URL </label>
<input id="longUrl" type="text" value="https://stackoverflow.com" />
<button onclick="makeRequest();">
Shorten URL
</button>
</div>
<div style="margin-top:0.5em;"><span id="info">Results</span></div>
</body>
</html>
要使用上面的代碼,你需要得到來自Google Developers Console
這看起來很有希望的API密鑰。我將嘗試編輯腳本以獲取window.location.href並查看是否可以使用它。 – coffeecola
這工作。謝謝@aidanharris! – coffeecola