まだプログラマーですが何か?

プログラマーネタ中心。たまに作成したウェブサービス関連の話も https://twitter.com/dotnsf

タグ:help

facebook に URL を含めて投稿すると、そこは自動的にリンクになり、クリックすると指定された URL ページを開くことができます。ここまでは当たり前の話:
2020080206


2020080207


このリンク先の URL は正確には元の URL とは少し異なります。というのは(おそらく追跡目的で)元の URL に fbclid=XXXXXXXX というパラメータが付与されたURL がリンク先になります(XXXXXXXX 部分はその時によって異なるランダムな文字列です)。このパラメータはリンク先ではほとんどのケースで無視されるので実質的には何の違いも生じずに期待通りのページが開きます:
2020080208


さて、問題はこの facebook の仕様が期待通りの結果にならないケースがあるということです。その典型がウェブ上に公開されたノーツの各種ヘルプデータベースのページです。例えば bcom.com 様が公開している Lotus Domino Designer 8.5 のデザイナーヘルプは以下の URL で開きます:
https://www.bcom.co.jp/help/help85_designer.nsf/Main?OpenFrameSet

2020080209



※勘のいい人はこの時点で気づいているかもしれませんが、↑実はこの URL は少し特殊なフォーマットになっています。"?" のあとに URL パラメータとして "OpenFrameSet" が付与されています。が、一般的には URL パラメータは "key=value" という形になっているもので、この URL は key だけが指定された形になっています。とはいえ、これで正しく動くんですけど。。


さて、問題は上記のようなおかしな URL を facebook に貼ったときのリンクの挙動です。仕様的には fbclid=XXXXXXXX というパラメータが追加され・・・るはずなんですが、元の URL が少しおかしなフォーマットになっているせいか期待通りの形(https://www.bcom.co.jp/help/help85_designer.nsf/Main?OpenFrameSet&fbclid=XXXXXXXX)になってくれません。OpenFrameSet の直前の "?" がなぜか "!" に変換されて、https://www.bcom.co.jp/help/help85_designer.nsf/Main!OpenFrameSet?fbclid=XXXXXXXX という URL が facebook からリンクされます。そしてこのリンク先を開くとエラーとなってしまうのでした:
2020080201


さて普通にヘルプのページを facebook に貼っただけではリンク先がエラーになってしまう事実がわかりました。ではそこまで理解した上で該当の URL を facebook に正しく貼るにはどのようにすればいいでしょうか?

実は単純な解決方法があります。もともとのおかしな URL は key=value の key 部分だけが指定されているものだったので、無理やり value 部分を足してフォーマットしては矛盾のない形する方法で解決できそうでした。具体的には https://www.bcom.co.jp/help/help85_designer.nsf/Main?OpenFrameset=1 という URL を指定して facebook に貼る、という方法です。

こうすると facebook からのリンク先は https://www.bcom.co.jp/help/help85_designer.nsf/Main?OpenFrameset=1&fbclid=XXXXXXXX という矛盾のないフォーマットになり、この URL であれば問題なく開くことができるようでした:
2020080202



ノーツの各種ヘルプファイル以外にこのようなフォーマットの URL を使うケースがあるのか、また facebook 以外でこのような(パラメータ自動付与による)不都合が生じるサービスがあるのかどうかもよくわかっていないのですが、おそらくここで紹介したのと同様の方法で回避できると思っています。

リアルタイム価格比較サイト「ねっぴ」の使い方を紹介します:
http://neppi.co/


「ねっぴ」とは?

ネットで購入できる様々な商品の価格をリアムタイムに比較するサービスです。PCのブラウザでも見れますが、画面はスマートフォン向けに最適化されています。
2014062501


こう書くと「カカクコムみたいな感じ?」と思われる人もいると思います。理解として間違ってはいませんが、「ねっぴ」ではカカクコムも比較対象です(カカクコムよりも安く買える所はけっこう見つかります)。

現在、「ねっぴ」は以下の9サイトを対象に検索・比較します。楽天やアマゾンのようにサイト内の複数ショップで同じ商品を扱っている場合は、その中の最安値を対象に比較します:
楽天
アマゾン
Yahoo!ショッピング
カカクコム
ケンコーコム
ヤマダウェブコム(ヤマダ電気)
セブンネットショッピング
ブックオフオンライン
グーグルショッピング


「ねっぴ」の使い方

グーグルで『(商品名、あるいは検索ワード) neppi』と、検索ワードの後にスペースに続けて "neppi" と付けて検索するか、
2014062502


或いは「ねっぴ」のトップページから右上の虫眼鏡アイコンをクリックして検索フィールドに検索文字を入れて検索します。
2014062503


「ねっぴ」の検索結果は一覧として表示されます:
2014062504


または「ねっぴ」のトップページから商品カテゴリを辿って絞り込みながら商品を選ぶこともできます。
2014062505


画面上部には選択カテゴリ内(カテゴリ選択前は全カテゴリ内)での人気商品をスライドさせながら確認することも可能です。
2014062506


1つの商品を選択すると、上記9サイトでその商品を扱っているかどうかを調べ、扱いがあった場合はその値段情報も含めて取り出し、画面に表示します。この商品の場合はヤフーで購入した場合が一番安く買えそうです(リアルタイム検索なので、常に同じ結果になるとは限りません):
2014062507


この画面のサービス名(「ヤフー」や「楽天」)部分をクリックすると、実際にそのサイトで購入するページにジャンプします。現実問題としては送料の差があったり、プレミアム会員の有無、付与ポイントの差などがあるため、必ずしも「一番安い=一番得」とは限りませんが、参考にはなると思います。

この画面の価格の右にある ">>" 部分をクリックすると、本当にそのサイトでその価格で売られているのか、を確認できる画面がポップアップで表示されます。ポップアップ後に ESC キーを押すか、画面内のポップアップ外の部分をタップするとポップアップが消えます:
2014062508


なお、「ねっぴ」内の検索で見つからない(「ねっぴ」内データベースにない)商品でも、その商品の JAN コードと呼ばれるバーコード番号が分かれば、その番号を使って、
 http://neppi.co/item.jsp?code=(JANコード)
のように直接URLにアクセスすれば「ねっぴ」内データベースにない商品のリアルタイム価格比較情報をその場で表示することもできます。


欲しいものの評判などはネットの情報などを使って調べていただいた上で、最後に「ねっぴ」を使って、一番お得に買えるサイトを調べて購入するとお得です!


プライバシーポリシー(個人情報保護方針)

個人情報の管理
当サービスは、お客さまの個人情報を正確かつ最新の状態に保ち、個人情報への不正アクセス・紛失・破損・改ざん・漏洩などを防止するため、セキュリティシステムの維持・管理体制の整備・社員教育の徹底等の必要な措置を講じ、安全対策を実施し個人情報の厳重な管理を行ないます。
 
個人情報の利用目的
お客さまからお預かりした個人情報は、当サービスからのご連絡や業務のご案内やご質問に対する回答として、電子メールや資料のご送付に利用いたします。
 
個人情報の第三者への開示・提供の禁止
当サービスは、お客さまよりお預かりした個人情報を適切に管理し、次のいずれかに該当する場合を除き、個人情報を第三者に開示いたしません。
 
お客さまの同意がある場合
お客さまが希望されるサービスを行なうために当サービスが業務を委託する業者に対して開示する場合
法令に基づき開示することが必要である場合
 
個人情報の安全対策
当サービスは、個人情報の正確性及び安全性確保のために、セキュリティに万全の対策を講じています。
 
法令、規範の遵守と見直し
当サービスは、保有する個人情報に関して適用される日本の法令、その他規範を遵守するとともに、本ポリシーの内容を適宜見直し、その改善に努めます。


このページのトップヘ