共有画面右上の「すべての写真」をクリックすると一覧画面になり、そこから画像を選択してダウンロードすれば自分のGoogle Photo を経由せずにダウンロードすることができます。
2024年4月6日土曜日
Google Photo で共有された画像や動画を自分のGoogle Photo を経由せずにダウンロードする
Google Photo で共有された画像をダウンロードしたい時に↓の「保存」を押してしまうと自分のGoogle Photo に保存されてしまうので、自分の画像とごちゃ混ぜになったり自分の保存容量を圧迫するので困ります。
共有画面右上の「すべての写真」をクリックすると一覧画面になり、そこから画像を選択してダウンロードすれば自分のGoogle Photo を経由せずにダウンロードすることができます。
共有画面右上の「すべての写真」をクリックすると一覧画面になり、そこから画像を選択してダウンロードすれば自分のGoogle Photo を経由せずにダウンロードすることができます。
2021年2月5日金曜日
Google データ エクスポート
Google Photoの容量無制限終了を機にGoogle Photoのデータを一括ダウンロードしようと思いました。
こちらのサイトを参考に「Google データ エクスポート」のページから作業を進めます。
出力先を「Google Drive」にて待つこと丸一日以上、届いたメールには
出力先に十分な空き容量が必要のようです。
私のデータは25GBくらいで、Google Photoは一番下の15GBの無料プランなのでこのような結果に。
先に出力可否を計算してから処理を実行してくれよ・・・。
※追記
データのダウンロードはできそうです!
先走って上記の投稿をしてしまいましたが、再びGoogleデータエクスポートの管理画面へ行くと、エクスポート処理の結果が表示されていて「アップロードできませんでした」とはなっているのですが…
ここの「エクスポートを表示」の部分をクリックすると出力されたデータのリストが表示され、その中の「ダウンロード」からダウンロードできるようになっています。
ダウンロードするために一時的に容量を増加しないといけないのかとゲンナリしていましたが、これで解決しそうです。2018年1月5日金曜日
アクセスカウンター essayists.net
前からアクセスカウンターが表示されていないなぁとは思っていたのですが、あまり気にしていませんでした。
提供しているサイト(essayists.net)にアクセスしてみた所、サイトがダウンしておりサービスが終了してしまっていたようです。
bloggerが提供するガジェットに「ブログの統計情報」というのがありましたので、それに変更いたしました。
アクセス数とかは特段意識していないのですが、そういう事があったというメモ。
提供しているサイト(essayists.net)にアクセスしてみた所、サイトがダウンしておりサービスが終了してしまっていたようです。
bloggerが提供するガジェットに「ブログの統計情報」というのがありましたので、それに変更いたしました。
アクセス数とかは特段意識していないのですが、そういう事があったというメモ。
2017年12月4日月曜日
YouTube Data API を使って YouTube 再生リストを高評価順でソートできる表を作る【C#】
試作品
作ったものはこちら引数つきでもアクセスできます。
http://tools.ehost.jp/youtube/Playlist/index/PLUL2Tx9e4jQxRfYXbOQB0UYYFXg_z-Yc6
概要
Youtube はチャンネル内の動画は「並べ替え」→「人気の動画」でソートすることができますが、再生リスト単位ではできません。再生リストのキーを元に Youtube API から再生リストの動画情報を取得し、jQuery プラグインの DataTables でソートできるようにします。
https://www.youtube.com/playlist?list=PLUL2Tx9e4jQxRfYXbOQB0UYYFXg_z-Yc6
の list?= 以下「PLUL2Tx9e4jQxRfYXbOQB0UYYFXg_z-Yc6」が再生リストのキーです。
準備
まずはオフィシャルのドキュメントをご覧頂くのが良いかと思います。Youtube API を利用するにはまず API キーを取得する必要があります。
API キーはリファラーなどでアクセス制限をつけることができます。
今回は C# と .NET用のGoogle APIのクライアントライブラリを使用します。
nuget パッケージで Google.Apis.YouTube.v3 をプロジェクトにインストールします。
Youtube API
https://www.googleapis.com/youtube/v3/videos?id=28LHGS9hn_g&part=snippet,contentDetails,statistics,status&key=取得したAPIキーAPI キーを取得すれば上記のようなURLにアクセスすることで以下のような情報を取ってくる事ができるようになります。
{
"kind": "youtube#videoListResponse",
"etag": "\"7991kDR-QPaa9r0pePmDjBEa2h8/IUqB8ABuJ4Ti-yT_NEhPLuW8lKY\"",
"pageInfo": {
"totalResults": 1,
"resultsPerPage": 1
},
"items": [
{
"kind": "youtube#video",
"etag": "\"7991kDR-QPaa9r0pePmDjBEa2h8/-iOhnLdrI3sM37vS6XdtYJPit1s\"",
"id": "28LHGS9hn_g",
"snippet": {
"publishedAt": "2014-12-24T06:16:45.000Z",
"channelId": "UCwQNrx9GQZamvdxVuVgaMtQ",
"title": "猫 赤ちゃんと初対面Cat First Meeting with Baby",
"description": "出産のため入院していた嫁と赤ちゃんが帰ってきました。\n嫁との1週間ぶりの対面、赤ちゃんとの初対面。\nさて、シイの反応やいかに・・・?\n\n【日記:http://www.neko-jirushi.com/user_home/diary/diary_detail-84394-46706.html】\n【ブログ:http://catlife0601.blog.fc2.com/】",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/28LHGS9hn_g/default.jpg",
"width": 120,
"height": 90
},
"medium": {
"url": "https://i.ytimg.com/vi/28LHGS9hn_g/mqdefault.jpg",
"width": 320,
"height": 180
},
"high": {
"url": "https://i.ytimg.com/vi/28LHGS9hn_g/hqdefault.jpg",
"width": 480,
"height": 360
},
"standard": {
"url": "https://i.ytimg.com/vi/28LHGS9hn_g/sddefault.jpg",
"width": 640,
"height": 480
}
},
"channelTitle": "catlife",
"tags": [
"猫",
"Cat",
"シイ",
"ペット",
"動物"
],
"categoryId": "15",
"liveBroadcastContent": "none",
"localized": {
"title": "猫 赤ちゃんと初対面Cat First Meeting with Baby",
"description": "出産のため入院していた嫁と赤ちゃんが帰ってきました。\n嫁との1週間ぶりの対面、赤ちゃんとの初対面。\nさて、シイの反応やいかに・・・?\n\n【日記:http://www.neko-jirushi.com/user_home/diary/diary_detail-84394-46706.html】\n【ブログ:http://catlife0601.blog.fc2.com/】"
}
},
"contentDetails": {
"duration": "PT1M45S",
"dimension": "2d",
"definition": "hd",
"caption": "false",
"licensedContent": true,
"projection": "rectangular"
},
"status": {
"uploadStatus": "processed",
"privacyStatus": "public",
"license": "youtube",
"embeddable": true,
"publicStatsViewable": true
},
"statistics": {
"viewCount": "1482776",
"likeCount": "2274",
"dislikeCount": "81",
"favoriteCount": "0",
"commentCount": "59"
}
}
]
}
取得できるデータはリソースと呼ばれ以下の種類があります。
リソースの種類
activity 特定のユーザーが YouTube サイトで行った操作に関する情報が格納されています。アクティビティ フィードで報告されるユーザー操作は、動画の評価、動画の共有、お気に入りへの動画の追加、チャンネルのお知らせメッセージの投稿などです。 channel 単一の YouTube チャンネルに関する情報が格納されています。 channelBanner 新しくアップロードされた画像をチャンネル用のバナー画像として設定するために使う URL を示します。 guideCategory コンテンツや人気などの指標に基づいて YouTube がチャンネルに関連付けるカテゴリを示します。guideCategory により、YouTube ユーザーが目的のコンテンツを容易に見つけられるようにチャンネルを整理できます。チャンネルは 1 つ以上のガイド カテゴリに関連付けられる場合がありますが、何らかのガイド カテゴリに属することが保証されているわけではありません。 playlist 単一の YouTube 再生リストを表します。再生リストとは、順序を付けて表示し、他のユーザーと共有できる動画のコレクションを指します。 playlistItem 再生リストを構成する動画などのリソースを示します。また、playlistItem リソースには、対象となるリソースが再生リストでどのように使用されるのかを説明する詳細な情報も格納されています。 search result API リクエストで指定した検索パラメータに一致する YouTube 動画、チャンネル、または再生リストに関する情報が格納されています。検索結果は、動画など一意に識別可能なリソースを出力しますが、検索結果自体は永続的なデータを持ちません。 subscription YouTube ユーザーの登録チャンネルに関する情報が格納されています。subscription は、新しい動画がチャンネルに追加された場合や、別のユーザーが YouTube で動画のアップロード、動画の評価、動画へのコメントといった何らかの操作を行った場合に、ユーザーに通知します。 thumbnail リソースに関連付けられたサムネイル画像を示します。 video 単一の YouTube 動画を表します。 videoCategory アップロードした動画に関連付けられているか、関連付けることができるカテゴリを示します。
API に指定できるパラメータはリソースによって異なりますが、主な2つを紹介します。
part パラメータ
必須項目です。カンマ区切りで複数指定することができ、上記 videos リソースの例で言うと、part=snippet,contentDetails,statistics,status の部分です。取得するデータの items 要素の中身でどの部分を取得するかを指定します。
fields パラメータ
カンマ区切りで複数指定することができ、fields=pageInfo,items(snippet/title,snippet/thumbnails/default) のように記述します。part パラメータでは子要素を全て含みますが、その内容をさらに詳細にフィルタリングすることができます。
(正直 part と fields は冗長な気もいたしますが…)
.NET用のGoogle APIのクライアントライブラリを使用したデータ取得
.NET用のGoogle APIのクライアントライブラリのガイドやリファレンスはこちらやりたい事は YouTube 再生リスト内の動画を評価順にソートすることなのですが、まず playlist リソースから再生リストの情報を取ってきます。
続いて playlistItem リソースから再生リスト内の動画情報を取得しますが、この動画情報の中には評価は含まれていません。
面倒ではありますが、いったん動画の Id を取得するにとどめて、その動画 Id で videos リソースから評価情報を取得いたします。
それぞれリソースから取得できる件数は最大50件までなので、50件を越える場合には複数回リソースにアクセスして取得することになります。
コードの一例は以下の通りです。
//YouTubeServiceクラスを生成
var youtube = new YouTubeService(new BaseClientService.Initializer()
{
ApiKey = "APIキー"
});
//Playlist検索
var requestPlaylist = youtube.Playlists.List("snippet");
requestPlaylist.Id = key;
requestPlaylist.Fields = "pageInfo,items(snippet/title,snippet/thumbnails/default)";
var responsePlaylist = requestPlaylist.Execute();
var vm = responsePlaylist.Items.Select(x => new PlaylistViewModel()
{
Id = key,
Title = x.Snippet.Title,
Url = "https://www.youtube.com/playlist?list=" + key,
ThumbnailUrl = x.Snippet.Thumbnails.Default__.Url,
Videos = new List<videoviewmodel>()
}).FirstOrDefault();
//Playlist内の動画id一覧取得
List<string> videoIds = new List<string>();
var requestPlaylistItems = youtube.PlaylistItems.List("id,contentDetails");
var responsePlaylistItems = new PlaylistItemListResponse();
requestPlaylistItems.PlaylistId = key;
requestPlaylistItems.MaxResults = 50;
requestPlaylistItems.Fields = "nextPageToken,pageInfo,items(contentDetails/videoId)";
do
{
requestPlaylistItems.PageToken = responsePlaylistItems.NextPageToken;
responsePlaylistItems = requestPlaylistItems.Execute();
videoIds.AddRange(responsePlaylistItems.Items.Select(x => x.ContentDetails.VideoId));
} while (responsePlaylistItems.NextPageToken != null && responsePlaylistItems.NextPageToken != "");
//動画情報の取得
var requestVideos = youtube.Videos.List("snippet,statistics");
var responseVideos = new VideoListResponse();
var size = 50;
var currentPage = 1;
var totalCount = videoIds.Count;
requestVideos.MaxResults = size;
requestVideos.Fields = "items(id,snippet/publishedAt,snippet/title,snippet/thumbnails/default,statistics/likeCount,statistics/viewCount)";
do
{
requestVideos.Id = string.Join(",", videoIds.Skip(size*(currentPage-1)).Take(size));
responseVideos = requestVideos.Execute();
vm.Videos.AddRange(
responseVideos.Items.Select(x => new VideoViewModel
{
Id = x.Id,
Title = x.Snippet.Title,
LikeCount = (int)x.Statistics.LikeCount,
ViewCount = (int)x.Statistics.ViewCount,
PublishedAt = (DateTime)x.Snippet.PublishedAt,
ThumbnailUrl = x.Snippet.Thumbnails.Default__.Url,
Url = "https://www.youtube.com/watch?v=" + x.Id
})
);
currentPage++;
} while (totalCount > size * (currentPage - 1));
上記では playlistItems からいったん動画 Id のリストを全て取得しましたが、1ページ分(50件)取得する毎に videos リソースからデータを取ってきた方が楽そうですね。
(参考)
2016年10月18日火曜日
GmailのSMTP経由でメールを送信する【C#】
C#を使ってGmailのSMTP経由でメールを送信する方法は以下をご参考ください。
DOBON.NET様サイト SSL/TLSを使用してSMTPでメールを送信する
そして更にGoogleアカウント側で設定が必要です。
安全性の低いアプリがアカウントにアクセスするのを許可する
安全性の低いアプリ
以上メモまで
DOBON.NET様サイト SSL/TLSを使用してSMTPでメールを送信する
そして更にGoogleアカウント側で設定が必要です。
安全性の低いアプリがアカウントにアクセスするのを許可する
安全性の低いアプリ
以上メモまで
2015年9月14日月曜日
Google Driveの画像をimgタグで表示させる
Google Driveにアップした画像は「共有」から「リンクを知ってる全員が閲覧可」で
以下のような閲覧可能URLが取得できます。
これをHTMLのimgで表示させるには
のようにいたします。
(表示結果)
ブログサービスなどではアップロードできる画像サイズに制限があるので
このような方法でも回避することができます。
以上メモまで。
以下のような閲覧可能URLが取得できます。
https://drive.google.com/file/d/0BxKMyzx-6WrAdXBHT3JlWDVRZ2M/view?usp=sharing
これをHTMLのimgで表示させるには
<img src="https://docs.google.com/uc?export=view&id=0BxKMyzx-6WrAdXBHT3JlWDVRZ2M">
のようにいたします。
(表示結果)
ブログサービスなどではアップロードできる画像サイズに制限があるので
このような方法でも回避することができます。
以上メモまで。
2015年8月23日日曜日
Visual Studio 2015 で開発したAndroidアプリを実機でデバッグ
まず実機側で「開発者向けオプション」の「USBデバッグ」にチェックを入れます。
「開発者向けオプション」は実機の「設定」からたどれます。
(表示されない場合は「端末情報」の「ビルド番号」を7回タップすると表示されます)
(あと、「セキュリティ」の「提供元不明のアプリ」もチェックした方が良いかもしれません)
Google USB DriverをPCにインストールします。
(自分の場合Android SDK Managerで確認したら既にインストールされていました。)
実機をPCにUSB接続します。
「コンピュータ」右クリック「管理」「デバイスマネージャ」で接続した実機を探します。
実機を右クリックで「ドライバーソフトウェアの更新」でインストールした
「Google USB Driver」を選択します。
実機側で「このコンピュータからのデバッグを許可しますか?」というような
表示が出るので許可します。
これでVisual Studioのデバッグのプルダウンにデバイスが表示されれば成功です。
(参考)
http://brianlagunas.com/debugging-xamarin-android-apps-in-visual-studio-with-a-nexus-7-device/
https://developer.xamarin.com/guides/android/getting_started/installation/set_up_device_for_development/
ただし、自分の場合はこれでは成功しませんでした。
Visual Studioの「ツール」「Android」「Android ADB Command Prompt」で
コマンドプロンプトを起動し「adb devices」とコマンドを実行したところ。
「unauthorized」と表示され認証されていないことが確認されました。
実機側で「USBデバッグ許可の取り消し」
PC側でADBサーバの再起動を行うことで無事認証することができました。
このあたりは以下サイトが参考になり助かりました。
(参考)
https://msdn.microsoft.com/en-us/library/dn757059.aspx
http://biz-crew.com/archives/1245
以上で無事VIsual Studioから実機でデバッグできるようになりました。
エミュレータでデバッグするよりは大分早くなったと思います。
(おまけ)
実機のデバッグ状況をPC上でキャプチャしたかったのですが、
NTT docomoのAndroidユーザの方は「mobizen」というアプリが便利です。
実機側にアプリをインストールし、ID・パスワードを設定。
PCのブラウザからhttps://mobizen.jp/にアクセスして認証すれば
簡単にPCのブラウザから遠隔操作できるようになります。
上記諸事項を実施される場合は自己責任でお願いします。
以上メモまで。
「開発者向けオプション」は実機の「設定」からたどれます。
(表示されない場合は「端末情報」の「ビルド番号」を7回タップすると表示されます)
(あと、「セキュリティ」の「提供元不明のアプリ」もチェックした方が良いかもしれません)
Google USB DriverをPCにインストールします。
(自分の場合Android SDK Managerで確認したら既にインストールされていました。)
実機をPCにUSB接続します。
「コンピュータ」右クリック「管理」「デバイスマネージャ」で接続した実機を探します。
実機を右クリックで「ドライバーソフトウェアの更新」でインストールした
「Google USB Driver」を選択します。
実機側で「このコンピュータからのデバッグを許可しますか?」というような
表示が出るので許可します。
これでVisual Studioのデバッグのプルダウンにデバイスが表示されれば成功です。
(参考)
http://brianlagunas.com/debugging-xamarin-android-apps-in-visual-studio-with-a-nexus-7-device/
https://developer.xamarin.com/guides/android/getting_started/installation/set_up_device_for_development/
ただし、自分の場合はこれでは成功しませんでした。
Visual Studioの「ツール」「Android」「Android ADB Command Prompt」で
コマンドプロンプトを起動し「adb devices」とコマンドを実行したところ。
「unauthorized」と表示され認証されていないことが確認されました。
実機側で「USBデバッグ許可の取り消し」
PC側でADBサーバの再起動を行うことで無事認証することができました。
このあたりは以下サイトが参考になり助かりました。
(参考)
https://msdn.microsoft.com/en-us/library/dn757059.aspx
http://biz-crew.com/archives/1245
以上で無事VIsual Studioから実機でデバッグできるようになりました。
エミュレータでデバッグするよりは大分早くなったと思います。
(おまけ)
実機のデバッグ状況をPC上でキャプチャしたかったのですが、
NTT docomoのAndroidユーザの方は「mobizen」というアプリが便利です。
実機側にアプリをインストールし、ID・パスワードを設定。
PCのブラウザからhttps://mobizen.jp/にアクセスして認証すれば
簡単にPCのブラウザから遠隔操作できるようになります。
上記諸事項を実施される場合は自己責任でお願いします。
以上メモまで。
ラベル:
Google,
Visual Studio
2014年4月25日金曜日
Google日本語とVisual Studioで不具合
Visual Studio 2012でWPFのプロジェクトをいじっていた時に
プロパティウィンドウからコントロールの名前(コントロールを貼り付けた直後は
<名前なし>となっている)を変更しようとしたところ、入力できないというトラブルに見舞われました。
どうやらGoogle日本語とVisual Studioで起こる不具合のようです。
他にも「プルダウンが動作しない」などのトラブルが報告されていました。
VSいじる時は大人しくMS-IMEにしときましょうか。
以上メモまで。
プロパティウィンドウからコントロールの名前(コントロールを貼り付けた直後は
<名前なし>となっている)を変更しようとしたところ、入力できないというトラブルに見舞われました。
どうやらGoogle日本語とVisual Studioで起こる不具合のようです。
他にも「プルダウンが動作しない」などのトラブルが報告されていました。
VSいじる時は大人しくMS-IMEにしときましょうか。
以上メモまで。
ラベル:
Google,
Visual Studio
2013年3月8日金曜日
2013年2月25日月曜日
検索したくないサイト
Googleなどで検索をしていると、海外のサイトを自動翻訳しただけのサイトやただのリンク集のサイトが検索されてイライラすることがあります。
以下のサイトで検索結果からブロックする方法が紹介されています。
【lifehacker.jp】
二度と見たくないサイトをGoogleの検索結果に表示させない方法
方法は「http://www.google.com/reviews/t」からサイトのURLを登録するだけ。
もっと早く知りたかったです(T_T)
(追記2013/2/27)
今のところあまり効果が見られないかも…?
以下のサイトで検索結果からブロックする方法が紹介されています。
【lifehacker.jp】
二度と見たくないサイトをGoogleの検索結果に表示させない方法
方法は「http://www.google.com/reviews/t」からサイトのURLを登録するだけ。
もっと早く知りたかったです(T_T)
(追記2013/2/27)
今のところあまり効果が見られないかも…?
2012年4月12日木曜日
2012年1月25日水曜日
Google グループ 連続ドットを含むメールアドレスが登録できない
Googleのアカウントを持っていれば「Group」を作成することができます。
そのグループにメンバーのメールアドレスを登録し招待することで
メーリングリストのような機能をもたせることができるのですが、
表題のとおり「連続するドット」を含むメールアドレスにはメンバーになってもらうための
招待メールを送ることができません。
[参考]
http://www.google.com/support/forum/p/groups/thread?tid=28761320be4c19d1&hl=ja
そのグループにメンバーのメールアドレスを登録し招待することで
メーリングリストのような機能をもたせることができるのですが、
表題のとおり「連続するドット」を含むメールアドレスにはメンバーになってもらうための
招待メールを送ることができません。
[参考]
http://www.google.com/support/forum/p/groups/thread?tid=28761320be4c19d1&hl=ja
2011年12月6日火曜日
Google検索の関数グラフでほっこり
またまたGoogleが新機能を追加しました。
Google検索の結果として関数グラフの表示が可能に
http://www.itmedia.co.jp/news/articles/1112/06/news049.html
そして某所で以下の関数が紹介されていて「スゴイ」と思ったので掲載。
sqrt(abs(x))-sqrt(6-x^2)/2-1,sqrt(abs(x))+sqrt(6-x^2)/2-1
検索結果:http://goo.gl/jyUcU
式見ただけで分かる人とかいますかね?
しかしGoogleは何でもやるなぁ。
米Googleは12月5日(現地時間)、Google検索で関数を入力すると、関数グラフを表示する機能を追加したと発表した。
Google検索の結果として関数グラフの表示が可能に
http://www.itmedia.co.jp/news/articles/1112/06/news049.html
そして某所で以下の関数が紹介されていて「スゴイ」と思ったので掲載。
sqrt(abs(x))-sqrt(6-x^2)/2-1,sqrt(abs(x))+sqrt(6-x^2)/2-1
検索結果:http://goo.gl/jyUcU
式見ただけで分かる人とかいますかね?
しかしGoogleは何でもやるなぁ。
2011年10月4日火曜日
Google 日本語のページ「以外」を検索
Googleで検索を行うと検索結果のページの左側のメニューに
「日本語のページを検索」という項目があります。
これはこれで重宝するのですが、日本語のページ『以外』を検索したくなる時があります。
「日本語のページを検索」を利用すると検索結果のURLに
lr=lang_ja
という引数が渡されます。この引数の指定を
lr=-lang_ja
とすることで日本語のページ『以外』を検索できます。
lr=lang_en
とすれば英語のページを検索することができます。
「日本語のページを検索」という項目があります。
これはこれで重宝するのですが、日本語のページ『以外』を検索したくなる時があります。
「日本語のページを検索」を利用すると検索結果のURLに
lr=lang_ja
という引数が渡されます。この引数の指定を
lr=-lang_ja
とすることで日本語のページ『以外』を検索できます。
lr=lang_en
とすれば英語のページを検索することができます。
2011年9月12日月曜日
IEからGoogleドキュメントにアップロードできない
表題の通り、ここ数日IEからGoogleドキュメントに
ファイルをアップロードできないようです。
Chromeを使えば、一応アップロードすることが出来るようではあります。
参考:ファイルをアップロードできない
ファイルをアップロードできないようです。
Chromeを使えば、一応アップロードすることが出来るようではあります。
参考:ファイルをアップロードできない
2011年8月23日火曜日
Googleサイトに埋め込んだGoogleカレンダーのタイムゾーンが変わってしまう
表題の通りです。
元のカレンダーの設定はちゃんと「(GMT+09:00)東京」となっているのに
埋め込んだ先の カレンダーでタイムゾーンが「太平洋時間」となってしまい
時間表示が16時間ずれて表示されてしまっていました。
ここ↓を参考にしたところGoogleサイト側の設定に問題があったようです。
http://www.google.com/support/forum/p/calendar/thread?tid=240abc9b36a6c72c&hl=ja
「Googleサイトのユーザ設定」でタイムゾーンを「(GMT+09:00)日本標準時」に
変更して万事オーケーです。
元のカレンダーの設定はちゃんと「(GMT+09:00)東京」となっているのに
埋め込んだ先の カレンダーでタイムゾーンが「太平洋時間」となってしまい
時間表示が16時間ずれて表示されてしまっていました。
ここ↓を参考にしたところGoogleサイト側の設定に問題があったようです。
http://www.google.com/support/forum/p/calendar/thread?tid=240abc9b36a6c72c&hl=ja
「Googleサイトのユーザ設定」でタイムゾーンを「(GMT+09:00)日本標準時」に
変更して万事オーケーです。
2011年8月19日金曜日
Googleがパズルゲームを公開
http://www.thegooglepuzzle.com/
HTML5やCSS3を駆使したパズルゲームということです。
自分はほぼ自力で(1問だけヒントを見てしまいました)解くことができましたが、
程良い難易度で楽しめました。
問題にはGoogleの様々なコンテンツが使われていて流石Googleといった感じです。
できればChromeで挑戦した方が良いかと思います。
関係ありませんが、解けた瞬間に地震が起こってかなりビビってしまいました(^^;)
HTML5やCSS3を駆使したパズルゲームということです。
自分はほぼ自力で(1問だけヒントを見てしまいました)解くことができましたが、
程良い難易度で楽しめました。
問題にはGoogleの様々なコンテンツが使われていて流石Googleといった感じです。
できればChromeで挑戦した方が良いかと思います。
関係ありませんが、解けた瞬間に地震が起こってかなりビビってしまいました(^^;)
2011年6月14日火曜日
Blogger に Syntax Highlighter を導入
ブログ上のソースコードのハイライトテンプレートをSyntax Highlighterに変更しました。
導入方法は、Bloggerの設定画面に入り「デザイン」→「HTMLの編集」から
以下のコードを<head></head>タグ内に追加します。
上記コードを追加したら、ブログ上でハイライトを適用したいコードを
以下の<pre>タグ内にHTMLエンコードした状態で記述します
適用できる言語の種類は以下をご参考ください。
http://alexgorbatchev.com/SyntaxHighlighter/manual/brushes/
また上記のハイライトはデフォルトですが、<head>タグに記述した4行目の
「shThemeDefault.css」 を変更すれば何種類かのスタイルから選択することができます。
スタイルの種類は以下をご参考ください。
http://alexgorbatchev.com/SyntaxHighlighter/manual/themes/
導入方法は、Bloggerの設定画面に入り「デザイン」→「HTMLの編集」から
以下のコードを<head></head>タグ内に追加します。
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shAutoloader.js' type='text/javascript'/>
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shCore.css' rel='stylesheet' type='text/css'/>
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/>
<script type='text/javascript'>
window.onload = function() {
SyntaxHighlighter.autoloader(
'applescript http://alexgorbatchev.com/pub/sh/current/scripts/shBrushAppleScript.js',
'actionscript3 as3 http://alexgorbatchev.com/pub/sh/current/scripts/shBrushAS3.js',
'bash shell http://alexgorbatchev.com/pub/sh/current/scripts/shBrushBash.js',
'coldfusion cf http://alexgorbatchev.com/pub/sh/current/scripts/shBrushColdFusion.js',
'cpp c http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCpp.js',
'c# c-sharp csharp http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCSharp.js',
'css http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCss.js',
'delphi pascal http://alexgorbatchev.com/pub/sh/current/scripts/shBrushDelphi.js',
'diff patch pas http://alexgorbatchev.com/pub/sh/current/scripts/shBrushDiff.js',
'erl erlang http://alexgorbatchev.com/pub/sh/current/scripts/shBrushErlang.js',
'groovy http://alexgorbatchev.com/pub/sh/current/scripts/shBrushGroovy.js',
'java http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJava.js',
'jfx javafx http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJavaFX.js',
'js jscript javascript http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJScript.js',
'perl pl http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPerl.js',
'php http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPhp.js',
'text plain http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPlain.js',
'py python http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPython.js',
'ruby rails ror rb http://alexgorbatchev.com/pub/sh/current/scripts/shBrushRuby.js',
'sass scss http://alexgorbatchev.com/pub/sh/current/scripts/shBrushSass.js',
'scala http://alexgorbatchev.com/pub/sh/current/scripts/shBrushScala.js',
'sql http://alexgorbatchev.com/pub/sh/current/scripts/shBrushSql.js',
'vb vbnet http://alexgorbatchev.com/pub/sh/current/scripts/shBrushVb.js',
'xml xhtml xslt html http://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js'
);
SyntaxHighlighter.all();
};
</script>
上記コードを追加したら、ブログ上でハイライトを適用したいコードを
以下の<pre>タグ内にHTMLエンコードした状態で記述します
<pre class="brush: ####"> </pre>「####」の部分には適用したい言語の種類を記述します。
適用できる言語の種類は以下をご参考ください。
http://alexgorbatchev.com/SyntaxHighlighter/manual/brushes/
また上記のハイライトはデフォルトですが、<head>タグに記述した4行目の
「shThemeDefault.css」 を変更すれば何種類かのスタイルから選択することができます。
スタイルの種類は以下をご参考ください。
http://alexgorbatchev.com/SyntaxHighlighter/manual/themes/
2011年4月6日水曜日
被災地のGoogle Map が早くも更新されている
2010年3月26日金曜日
登録:
投稿 (Atom)




