質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

0回答

517閲覧

Google spread sheetを使って&付のURLをbitlyの短縮URLにしたいがうまくいかない

TaichiOkano

総合スコア8

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

0グッド

1クリップ

投稿2018/10/11 08:23

webに落ちていたスクリプトを元にbitlyの短縮URLをgoogle spread sheetで発行できるようにスクリプトを組みたく思っております。
https://teratail.com/questions/122400
の記事を読んでやったのですが実行すると空白になってしまいます。

どうしたら良いかおしえてください。

以下が設置したスクリプトです。

/**

  • Returns a shortened URL of the input.
  • @param {string} longUrl The long URL to shorten.
  • @return The shortened url.

/
function shortenUrl(longUrl) {
try {
var regexp = /^(https?|ftp)(://[-_.!~
'()a-zA-Z0-9;/?:@&=+$,%#]+)$/;
if (typeof longUrl != 'string' || !regexp.test(longUrl)) throw new Error('Invalid args');
longUrl = Utilities.base64EncodeWebSafe(longUrl);
var response = BitlyUrlShortenerService(longUrl);
return response.data.url;
} catch(e) {
return e.toString();
}
}

/**

  • Returns a analytics of the short URL.
  • @param {string} shortUrl
  • @return click count

*/
function analyzeShortUrl(shortUrl) {
try {
var regexp = /^https?://bit.ly/.+$/;
if (typeof shortUrl != 'string' || !regexp.test(shortUrl)) throw new Error('Invalid args');
var response = BitlyUrlAnalyticsService(shortUrl);
return response.data.link_clicks;
} catch(e) {
return e.toString();
}
}

function BitlyUrlShortenerService(longUrl) {
var accessToken = PropertiesService.getScriptProperties().getProperty('BITLY_ACCESS_TOKEN'),
apiUrl = 'https://api-ssl.bitly.com/v3/shorten?access_token='+accessToken+'&longUrl='+longUrl,
response = UrlFetchApp.fetch(apiUrl);
if (response.getResponseCode() !== 200) {
throw new Error('Unable to bit.ly API');
} else {
return JSON.parse(response);
}
}

function BitlyUrlAnalyticsService(shortUrl) {
var accessToken = PropertiesService.getScriptProperties().getProperty('BITLY_ACCESS_TOKEN'),
apiUrl = 'https://api-ssl.bitly.com/v3/link/clicks?access_token='+accessToken+'&link='+shortUrl,
response = UrlFetchApp.fetch(apiUrl);
if (response.getResponseCode() !== 200) {
throw new Error('Unable to bit.ly API');
} else {
return JSON.parse(response);
}
}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

papinianus

2018/10/24 06:25 編集

どうやって実行したのですか?セルに`=shortenUrl(A1)`と書いておられますか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問