投稿

ラベル(google api)が付いた投稿を表示しています

gsutilのためにpython pip → crcmodをインストール

Google Cloud Storageへのバックアップコマンドが失敗していたので調査したときの覚書。 環境: CentOS 7.7, Python 2.7.5 下記エラー ResumableUploadAbortException: 403 The project to be billed is associated with a closed billing account. 理由は無料トライアル期間が終了していたから。 管理画面でアップグレード。 無事転送できるようになった(すぐ実行したら失敗したので少し時間が必要みたい)。 さらに下記メッセージが気になった。 NOTE: You are uploading one or more large file(s), which would run significantly faster if you enable parallel composite uploads. This feature can be enabled by editing the "parallel_composite_upload_threshold" value in your .boto configuration file. However, note that if you do this large files will be uploaded as `composite objects `_,which means that any user who downloads such objects will need to have a compiled crcmod installed (see "gsutil help crcmod"). This is because without a compiled crcmod, computing checksums on composite objects is so slow that gsutil disables downloads of composite objects. なので、crcmodをインストールしてみた。 インストール方法の確認 # gsutil help crcmo...

Gmail検索クエリとGmail APIと一緒に使うPHPライブラリ

イメージ
Gmail API経由でメール一覧を取得しているときの覚書。 環境:CentOS 7, PHP 7.0.16 メールを取得する際に設定する検索クエリの参考サイト。 Search operators you can use with Gmail - Gmail Help Gmailの検索演算子一覧(隠れコマンド含む)。高度なフィルタ作成に!   日付の降順で取得したかったけど今のところ出来ないので、スレッド単位で取得して処理をしていく。 Users.threads: list | Gmail API | Google Developers ドキュメントに書いてないことはライブラリのソースを読んだ方が早い。   メッセージはraw形式で取得してPHPライブラリでパースした方が開発し易い。 GitHub | php-mime-mail-parser/php-mime-mail-parser: Fully Tested Mailparse Extension Wrapper for PHP 5.4+ 送信するときはPHPMailerでメールオブジェクトを作って、getSentMIMEMessageしたデータを(base64UrlEncodeして)setRawすると開発しやすかった。 GitHub | PHPMailer/PHPMailer: The classic email sending library for PHP   < Related Posts > Gmail APIでシステムとGmail(G Suite)を連携【調査編】 Google Apps Scriptで自動的にGmailのメールを定期的に削除 Gmailフィルタメモ。必要なメールだけ携帯に転送

Gmail APIでシステムとGmail(G Suite)を連携【調査編】

イメージ
POP3とSMTPを使うのは面白くないので、API経由でGmailを利用したらメールを削除することなくシステムと連携できると思い、試したときの覚書。 公式サイトを参考に Gmail API | Google Developers   目次 APIの使用制限 システム用アカウントをGoogle Apps(G Suite)に追加 Server-to-Serverのサービスアカウントを作成 PHPサンプルを試す ウェブアプリケーションのOAuth2.0で認証   1.APIの使用制限 APIの使用制限がある。1日10億Quota Unit。メソッドごとに消費ユニットが違う。例えばメール送信は100ユニット消費する。 一秒間に250ユニットの制限がある。同時に3つ以上送信しようとすると制限に引っかかる。詳しくは公式サイトで。 Usage Limits | Gmail API | Google Developers メール送信はローカルのPostfixに任せた方がいいかもしれない。   クライアントライブラリが未成熟(?) PHPはベータ版 Getting Started | API Client Library for PHP (Beta) | Google Developers Node.jsはまだアルファ版 Node.js Quickstart | Gmail API | Google Developers GitHub | google/google-api-nodejs-client: Google's officially supported Node.js client library for accessing Google APIs.   2.システム用アカウントをGoogle Apps(G Suite)に追加 やろうと思っていることの概要。 システム専用のアカウントを作って、そのアカウント宛てに届いたメールを順次処理していく。 処理が終わったら「既読」ラベルを付けてアーカイブ。 Node.jsはアルファ版なのでWordPressのプラグインとしてPHPで開発することにした。   3.Server-to-Serverのサービスアカウ...

Firebase Cloud Messaging(FCM)のサンプルアプリをビルドしてプッシュ通知を試す

イメージ
GCMからFCMに移行するために仕組みを理解しながらサンプルアプリを試したときの覚書。 環境: Windows 10 64bit, Android Studio 2.1.1   参考 Firebase Notifications | Firebase Firebaseによるプッシュ通知のハマりどころ - Qiita   目次 SDKを最新に Android向けのサンプルを実行(失敗) Firebase Consoleにアクセスしてプロジェクト作成 もう一度実行(成功)   1.SDKを最新に 公式サイトを参考に開発環境を整える。 Add Firebase to your Android Project | Firebase 基本はAndroid SDK Managerで「Google Play services」を最新にするだけ。   2.Android向けのサンプルを実行(失敗) サンプルはGitHubに公開されている。これをgit cloneする。 quickstart-android/messaging at master · firebase/quickstart-android | GitHub messagingフォルダをAndroid Studioで開く。 とりあえず実行してみると「google-services.json is missing」のエラー。まだ準備が必要みたいなので、公式サイト通りに進めていく。 Add Firebase to your Android Project | Firebase   3.Firebase Consoleにアクセスしてプロジェクト作成 Firebase Console にアクセス。「CREATE NEW PROJECT」をクリックしてプロジェクト作成。 Name: Firebase Cloud Messaging Country: Japan 「Add Firebase to your Android app」を選択して、Package Nameを入力。AndroidManifest.xmlと同じ「com.google.firebase.quickstart.fcm」とした。 「A...

Google Firebaseの情報収集

イメージ
「Firebaseって有料だし、チャットアプリ案件が来たら調べてみるか」と思っていたらFirebaseが超進化して、プッシュ通知もFirebase経由で送信するようになるらしいので調べたときの覚書。 前のFirebaseはリアルタイム性のあるアプリを開発するときに便利な機能を提供してくれるプラットフォームという認識。 それがGoogle Play, Google Cloud Platformと統合されて、アプリ開発のデファクトスタンダードSDKになろうとしている。 概要を理解するにはGoogle I/Oのビデオがデモもあって分かりやすい。 Firebase Overview - Google I/O 2016 - YouTube 各サービスの紹介ビデオ(日本語字幕付き)を見ておくと、英語が苦手でも理解しやすい。 無料で使えるアプリ版Google Analyticsとでも言うべき「Firebase Analytics」などを繰り出すGoogle傘下Firebaseのすごいバックエンド機能まとめ - GIGAZINE   そろそろGoogle先生がAppcelerator社を買収してくれないかな。。。   次はFirebaseの各機能をTitaniumモジュールとして実装する方法を調べる。   < Related Posts > Titanium + Socket.IO(WebSocket)について調査

Android Studioでplay-services-gcm.jarを作る

イメージ
Google Play Services APIからGoogle Cloud Messaging(GCM)部分を切り出したライブラリ(jarファイル)を作ったときの覚書。 環境: Mac OS X 10.11.3, Android Studio 1.5.1 Android Studioをインストールするまでは 前の記事 を参考に。 Google Play Servicesから任意のAPIを選択してビルドするための詳細情報は公式サイトを参考に。 Setting Up Google Play Services | Google APIs for Android | Google Developers   公式サイトにあるCloud Messagingのチュートリアル通りにやる。 Try Cloud Messaging for Android | Cloud Messaging | Google Developers   GitHubに公開されているサンプルプログラムを利用する。 googlesamples/google-services: A collection of quickstart samples demonstrating the Google APIs for Android and iOS | GitHub Cloneする $ cd Documents/AndroidStudioProjects/ $ git clone https://github.com/googlesamples/google-services.git Android Studioを開いて File → New → Import Project... から google-services/android/gcm/ を読み込む。 あとは チュートリアル に従って進める。 ダウンロードしたgoogle-services.jsonはappフォルダに配置。 ビルドすると app\build\intermediates\exploded-aar\com.google.android.gms\play-services-gcm\8.4.0\jars に classes.jar が出来る。 これがGoogle Play ServicesのG...

Picasa Web Albums Data API v2 + PHPでアルバム一覧取得(OAuth2)

イメージ
Picasa Web Albumsに保存してある非公開のアルバムと写真を表示する機能を作ったのだけれど、メールアドレスとパスワードでログイン出来なくなったのでOAuth2を使うようにしたときの覚書。 参考 Picasa Web Albums Data API  | Google Developers   目次 デベロッパーコンソールでAPI設定 PHPライブラリ アルバム一覧を取得   1.デベロッパーコンソールでAPI設定 全て公式ドキュメントに書いてある。 Using OAuth 2.0 to Access Google APIs | Google Identity Platform | Google Developers Google Developers Consoleでプロジェクト作成して「認証情報」から「新しいクライアントIDを作成」する。 アプリケーションの種類は「ウェブアプリケーション」。 「サービスアカウント」で認証画面とか表示せずに利用しようとしたけど、認証しても「default」が登録したGoogleアカウントにならなかった(公開情報にはアクセスできた)。詳しく調べれば方法があるかもしれない。。。 「ウェブアプリケーション」+「オフラインアクセス」で実現できることが分かった。 Using OAuth 2.0 for Web Server Applications | Google Identity Platform | Google Developers   2.PHPライブラリ 公開されているライブラリを使う。 google/google-api-php-client | GitHub WordPressプラグインとして公開されている「 PWA+PHP Picasa Web Albums for WordPress 」はライブラリを使わずに頑張って自前で実装してる。何かの参考になるかもしれない。     3.アルバム一覧を取得 ライブラリを使ったアルバム一覧を取得するまでの手順 setAccessType('offline')でリフレッシュトークンも取得するように設定 createAuthUrl()へリダイレ...

gsutilをInstallしてGoogle Cloud Storageに接続

イメージ
Google Cloud Storageにバックアップするスクリプトを書くためにgsutilをインストールしたときの覚書。 環境: CentOS 6.6, Python 2.6.6 公式ページを参考に。 Install gsutil - Cloud Storage | Google Cloud Platform   目次 PyPI経由でgsutilをインストール gsutilの設定 バケットを作成してみる   1.PyPI経由でgsutilをインストール Python向けパッケージ管理システムPyPI(Python Package Index)を使う gsutilのインストールに必要なパッケージをインストール # yum install gcc openssl-devel python-devel python-setuptools libffi-devel PyPIのインストール # yum install python-pip gsutilのインストール # pip install gsutil アップデートするとき # pip install -U gsutil   2.gsutilの設定 公式ドキュメントに従う # gsutil config エラー Traceback (most recent call last):   File "/usr/bin/gsutil", line 5, in <module>     from pkg_resources import load_entry_point ImportError: No module named pkg_resources 下記サイトにsetuptoolsの問題らしい。 python - No module named pkg_resources - Stack Overflow yum経由でインストールされたpython-setuptoolsは0.6.10だったので最新版をインストールする。 # wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | pyt...

TitaniumアプリでPush Notification【Android版】

イメージ
前回 はiOSについて調査。今回はAndroid端末にプッシュ通知する方法を調査したときの覚書。 開発環境: Mac OS X 10.9.4, Titanium SDK 3.3.0.GA, Android 4.0.3 サーバー:CentOS 6.5   参考サイト Overview | Google Cloud Messaging | Android Developers Google Cloud Messaging for Android (GCM)を使ってみた - azukinohirokiの日記 Androidでのpush通知について | Don't Fall - Titanium Mobileユーザー会サポートBBS   目次 Google Cloud Messaging(GCM)を有効に GCMとの通信用モジュールを探す Titaniumモジュールをビルドする環境を整える Titaniumモジュールのビルド実行 アプリからモジュールを利用 サーバーからプッシュ通知テスト デバッグと検証してみた   1.Google Cloud Messaging(GCM)を有効に iOSは Apple Push Notification service(APNs) 経由でプッシュ通知を送る。Androidの場合は Google Cloud Messaging(GCM) 経由。 GCMのAPI Keyを取得 Google API Console にアクセス プロジェクトを作成。 プロジェクトの「Overview」を開くと左上に「Project Number」が表示されているのでこれをメモ。あとで「sender_id」としてアプリ側に記述する。 APIs & auth → APIsから「Google Cloud Messaging for Android」を有効に APIs & auth → Credentialsから「Server Key」を作成。   2.GCMとの通信用モジュールを探す iOSみたいにネイティブにサポートしてないので、公開されているモジュールを利用する。 liccowee/Google-Cloud-Messaging--Tit...

ニュース記事を取得するのにGoogle Custom Search Engine(CSE)を使う

イメージ
Google News Search APIが完全に廃止される2014/05/26が1ヶ月後に迫ってきたので、真剣にどの技術を使うか調べてみた。 Spring cleaning for some of our APIs - The official Google Code blog 代替手段として調べたサービス。 Bing Search API Yahoo News API GoogleニュースのURLに「output=rss」を付けて処理 サーバー側でキャッシュした情報を配信したいので、それぞれの利用規約を読んで断念。 数多あるニュースサイトを串刺しで検索する方法はお金がかかりそうなので、 Google Custom Search Engine API を使って、ニュースサイトを手動で追加して検索対象にすることにした。 登録方法は下記サイトが分かりやすい。 google custom search engine(CSE)を使って、検索結果をjsonで取得する - ryutamaki 簡単な手順 Google Developers Console に行く Custom Search APIをONにしてAPI Keyを取得 Google カスタム検索の管理画面 に行く 検索エンジンを追加 検索対象にするニュースサイトを追加 検索機能 → 詳細設定で検索結果の並び替えをオンにする API Keyと検索エンジンIDを使ってAPIにリクエストする 1日100リクエストに制限されているので、15分に1回リクエストして最新情報を取得する感じ。 詳細は公式リファレンスを参考に。 CSE - Custom Search - Google Developers   < Related Posts> ニュース記事を取得するのにBing Search APIを試してみた Google ニュースのAPIを商用利用できるかとYahooとの比較

[Node.js] Server SideでGoogle Analytics (Universal Analytics)を使ったアクセス解析

イメージ
アプリのアクセスをGoogle Analyticsでトラッキングするための覚書。 環境:nodejs v0.10.24, express 3.4.8 2013年からGoogle Analyticsの新バージョン「Universal Analytics」が使用可能になり、APIも刷新されて、より使いやすくなった。 An Easy Way to Upgrade to Universal Analytics - Analytics Blog Analytics Collection - Google Analytics - Google Developers 既にNPMからUniversal Analyticsに対応したモジュールを利用できる。 peaksandpies/universal-analytics - GitHub   このモジュールはクライアントのユーザーエージェントを設定したり、ログインしたユーザーを識別する仕組みを提供してくれているので使いやすい。 サンプルコード var ua = require('universal-analytics'); app.all('/1/*', function(req, res, next) {   var visitor;   var uuid, userAgent;   // User-Agent of app client   userAgent = (req.headers) ? req.headers['user-agent'] : null;   // UUID for detecting app login user   uuid = (req.session) ? req.session.uuid : null;   visitor = ua('UA-XXXX-XX', uuid, {     headers: {       'user-agent': userAgent     }   });   // Send to Google Analytics ...

ニュース記事を取得するのにBing Search APIを試してみた

イメージ
Google Web Search APIが「Deprecated」になっていつ使えなくなるか分からないので、代替となるサービスを探したときの覚書。 参考サイト ニュース取得APIいろいろ | DrunkBoarder | yuki_B's web site   Google Custom Search API を調べてみても「ニュース」だけにカテゴリを絞る方法が分からない。 そこでサムネイル画像が取得出来ないけど、安心感のある Bing Search API を試してみた。 参考サイト Bing Search API を使いたいと思ったのでPythonでラッパーを作ってみた - [[ともっくす alloc] init] Bing Search API プログラミング解説   だけど。。。 実際に使ってみて困ったのが、キーワードを指定するときに「OR」「AND」などのSyntaxが使えない。 公式のBing Query Language にあるオペレーターは効かなかった。 結局、使えなくなるまではGoogle先生にお世話になることにした。   < Related Posts > 【PHP】Google AJAX Search APIを使ってニュース記事を取得 Google ニュースのAPIを商用利用できるかとYahooとの比較

[Titanium] iOSとAndroidで地図アプリ(Google Maps)を起動

イメージ
アプリ内の地図と地図アプリを連携すると便利なので、パラメータを渡して起動する方法を調査。 環境: Titanium SDK 3.1.1.GA 参考にしたのは下記。 Google Maps URL Scheme - Google Maps SDK for iOS - Google Developers Apple URL Scheme Reference: Map Links Google Maps のパラメータ   実際書いたコードを下記に抜粋。 iOSの場合はグーグルマップアプリがインストールしてあれば、そちらを優先して開く。 Androidの場合はおなじみのアプリを選択する。 緯度と経度をクエリとして渡した方がピンが立つので分かりやすい。 if (this.isAndroid) {     // Google Map     url = [];     url.push('http://maps.google.com/maps');     //url.push('?ll=' + this.region.latitude + ',' + this.region.longitude);     url.push('?q=' + this.region.latitude + ',' + this.region.longitude);     url.push('&z=16');     Titanium.Platform.openURL(url.join(''));     return true; } if (this.isIos) {     // Google Map of Native App     url = [];     url.push('comgooglemaps://');     //url.push('?center=' + this.reg...

[Titanium] Google Maps API v2用Androidモジュールを設定

イメージ
Titanium Mobileで作成したiOSアプリ、Androidアプリ内にGoogle Mapを表示して、店舗情報をプロット表示するために調査したときの覚書。 環境: Titanium SDK 3.1.1.GA Titanium公式ドキュメントを読む。 Titanium.Map | Titanium 3.X - Appcelerator Docs iOSでは「Titanium.Map」 Androidでは「Modules.Map」というモジュール を使うらしい。 iOS用には KitchenSink を参考にすれば難しくないと思う。ここからはAndroid用のモジュールを使えるようにするまでの手順。   Android用のモジュールに関する公式ドキュメントはこちら。 Modules.Map | Titanium 3.X - Appcelerator Docs Google Maps v2 for Android | Titanium 3.X - Appcelerator Docs このモジュールはTitanium 3.1.0以上が必要なので注意。   簡単に手順をまとめると。 1.Google Play Services SDKをインストール Android SDK Managerを起動して「Extras」 → 「Google Play services」をインストールする。 Setup Google Play Services SDK | Android Developers     2.Google APIs Consoleに登録してAPI Keyを取得 Google APIs Console にアクセスして「Google Maps Android API v2」をONにする。 Google APIs Consoleの「API Access」 → 「Create new Android Key...」からアプリに埋め込まれているFingerPrintを入力 開発用のFingerPrintは下記コマンドで確認できる(パスワードはなし)。S $ keytool -list -v -keystore ~/Library/Application\ Support/Titanium...

Google Maps API v3を使って地図上に店舗情報をプロットする

イメージ
Google Mapに店舗情報をプロットする開発したときの覚書。1年前の下書きを元にしているので情報が古いかも。 環境: Google Maps API v3 やりたい事 緯度と経度を元にGoogle Map上にプロットする プロットしたときのアイコンを独自のアイコンにしたい 表示される吹き出しもいい感じにしたい 表示された店舗情報の数・位置によって、地図上の縮尺をいい感じにしたい たくさんの情報がプロットされたとしてもいい感じに表示したい 住所から緯度と経度を取得したい。逆も。 こんな風に実現できた。 地域情報検索 | teniteo[テニテオ]   まずはGoogleの公式ドキュメントを読む。 Google Maps Javascript API V3 Reference - Google Maps JavaScript API v3 | Google Developers   地図を日本語表示したい場合は「language=ja」を追加する <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false&language=ja"> コンセプト - Google Maps JavaScript API v3 | Google Developers   住所から緯度と経度を取得するには、下記を参考に。 ジオコーディング サービス - Google Maps JavaScript API v3 | Google Developers   Google Mapに渡せるQuery Parameterは下記に情報があったけど、今はなくっているみたい(2013年9月9日時点) http://mapki.com/wiki/Google_Map_Parameters   jQueryで簡単に使えるようなライブラリがやっぱりあった。 jquery-ui-map - Google map v3 plugin for jQuery and jQuery Mobile - Google Project Hosting でも使ってない。 ...

Google Books APIをPHPから利用する方法と設定

イメージ
前回WordPress向けに作ったGoogle書籍検索を利用するPluginをVersion UpさせたときのMemo. まずGoogle Books用のAPIが2011年5月に刷新されて、今はこちらの方に注力しているらしい。前のGData APIとJavascript APIもまだ使えるけど、いつ使えなくなるか分からない。詳しくは下記Official Blogで。 Inside Google Books: New Books API for Developers Google Books API Family - Google Developers やった事 Zend GData からOfficial Siteで紹介されている Google APIs Client Library for PHP に変更。 Google APIs Consoleを使ってAPI Keyの生成と埋込み Sampleを参考にしながらCustomize   Zend GDataからGoogle APIs Client Library for PHPに変更 下記Google Books APIのOfficial SiteからLibraryをDownloadする。 Libraries and Samples - Google Books API Family - Google Developers Serverに設置してSampleを実行すると動作確認が出来る。 API Keyは設定していなくても動く。 でも、Official Documentには、「公開データを検索するのに認証する必要はないけど、API Keyと一緒にリクエストする必要がある」と書いてあるので、一応API Keyも取得する。 Learn about authorizing requests and identifying your application - Getting Started - Google Books API Family - Google Developers   Google APIs Consoleを使ってAPI Keyの生成 最近はGoogleのA...

Facebook, Twitter, Google+のShare Buttonを設置する方法

イメージ
Web Siteを構築するときに定番になっているFacebook Like, Tweet Button, Google +1 Buttonの設定方法。 まずは埋め込むScriptを自動生成してくれる各Official SiteへのLink Like Button - Facebook Developers Twitter / Tweet Button plusone-button | Google 以下はParameterの設定など開発者向け情報のLink   1. Facebook Like & Share "Like"に統合されてSupportされなくなった"Share"機能 Facebook Share - Facebook Developer Open Graph ProtocolのDocument Open Graph Protocol - Facebook Developers "Like" (OGP)の動作確認が出来るTool。昔は"URL Linter"って名前だった。 Debugger - Facebook Developers   2. Tweet Button Parameterの説明。 Tweet Button | Twitter Developers iframe内の幅を変更する方法 新しくなった公式Twitterボタン(ツイートボタン)のデザインを修正する: 小粋空間   3. Google +1 Button "+ 1 Button"の設定、Parameterの説明 +1 Button - Google+ Platform - Google Developers 動作確認。Facebook debuggerの+1版。 Webmaster Tools - Rich Snippets Testing Tool Google+ 開発者向け公式Blog Google+ Developers Blog   ちなみにWordPressを使っているならPl...

Google Apps API Japan キックオフミーティングの資料

Singaporeの社内でもGoogle Appsを導入したし、今後Google Appsの仕事(導入支援)もやりたいと思っているので、そのときのためのMemo. Google Apps API Japan キックオフミーティングの資料を公開します - WebOS Goodies そして、 前の記事 にも書いたGraphを描画するためのGoogle Chart Tools. ちょうど今Graphを作成するJavaScriptのLibraryを探していたので試してみたい。   < Related Posts > Singaporeの会社でもGoogle Apps(Free)を導入してみた(Emailはまだ) GoogleのAPIを使って日本地図を表示するためには

Ajax通信しても固定URLを持たせてGoogle Analyticsに記録したい

Ajaxを利用してPage全体をReloadしない仕組みにしたけど、下記の要望に対応したMemo。環境はWordpress 3.1.2 詳細記事にBookmarkしたい。 Google Analyticsでアクセス解析したい。   詳細記事にBookmark これを実現するために非同期で詳細情報を取得して描画した後に、URLを変更しないといけない。location.hashを使うのが一般的みたい。検索してみると jQuery History や HashListener というLibraryを使えば簡単に設定できそう。 ただ#以降のURLはServer(PHP)側で取得できないので、実際そのURLを指定したら、onLoadのEventを使って(Client側で)記事を検索、表示させてあげないといけない。 Server側で処理をしたい場合はQuery Stringに埋め込む。これを受け取ったあとの処理は前に導入した qTranslate というWordpress Pluginを参考にするとできそう。   Google Analyticsでアクセス解析したい location.hashにsetする時に _gaq.push(['_trackPageview', '/home/landingPage']); を発行すればいいみたい。詳細は Google Code で。   < Related Posts > Wordpressで多言語対応。「qTranslate」pluginを導入

Bloggerの記事にFacebook, Twitterのshare linkを表示

前に見つけたscrollしてもついてくるjQuery Plugin を使って、Bloggerの記事にFacebookの like button とTwitterの tweet button を埋め込んだときのMemo. jquery-scroll-follow はjQueryとjquery UI Coreが必要なので、Google Libraries APIを使う。 困ったのがBloggerにJavaScript Fileを添付する機能がないので、どこか外部Serverに置いて参照しなければならない。これはGoogle Sitesに置くことにした。 前の記事 を参考に。 あとは実際にBloggerの管理画面の「HTMLの編集」で「ウィジェットのテンプレートを展開」にcheckしてScriptを埋め込む。 head tag内に以下を埋め込む <!-- Start Share Links Script and CSS--> <b:if cond='data:blog.pageType == &quot;item&quot;'>   <script src='https://www.google.com/jsapi?key=google-api-key' type='text/javascript'/>   <script type='text/javascript'>     google.load(&quot;jquery&quot;, &quot;1&quot;);     google.load(&quot;jqueryui&quot;, &quot;1&quot;);   </script>   <script src='https://sites.google.com/site/hoge/jquery.scrollfollow.js?attredicts=0' type='text/javascript'/>...