Oct 21~24, 2023【晚秋の贅沢な山旅 PART②】黒部峽谷♡下之廊下|日本北阿爾卑斯山秘境健行+野營+秘湯溫泉 DAY 1(黒部水壩〜下之廊下〜阿曾原溫泉)

圖片
今天是這趟四天三夜秋季山旅的第二天,昨天在信濃大町悠閒度過了半天,今天終於要進入黑部峽谷山區了。原本是預計早上6點15分,要從信濃大町車站前,乘坐第一班巴士前往 扇沢 ,但是旅館客房太溫暖,不小心睡過頭,等到自然醒時,看了手機已經早上6點了。 這時就算再怎麼快速收拾背包衝到車站也趕不上6點15分的巴士了。雖然還有下一班巴士可以搭,但是今天的路程有點遠,得走上20公里,加上紅葉季節,如果太晚抵達露營場,可能會找不到位置紮營,所以我想還是儘早出發比較好。幸好車站前有計程車可以利用,只是必須多花幾千塊日幣消災就是了。 在觀光季節,最早一班由 扇沢 開往 黒部ダム ( 黑部水壩 )的巴士是早上7點30分發車,所以只要需抓個50分鐘的乘車跟買票時間,大概早上6點40分左右,從大町車站前搭上計程車就沒問題了。 洗漱完畢,整理好背包後,將房間鑰匙放回旅館櫃檯的籃子裡,然後走路到車站前面,叫一輛計程車前往 扇沢 (車資大約8000日幣上下)。走在路上可以看見遠處三千公尺級的高山,都已經覆上了新雪,預告著今年的雪季即將到來。 早上7點左右抵達 扇沢 ,買了一張前往 黑部水壩 的單程電氣巴士車票(1,800日幣),然後將登山計畫書投遞進箱子裡,走上二樓排隊等待搭車。果然不愧是紅葉季節,車站二樓裡面,整整四排的排隊區,已經排滿了登山客和觀光客。 扇沢 其實就是 立山黑部阿爾卑斯路線 的長野側起點,是觀光客很喜歡造訪的地方,只是一般觀光客不會曉得,站在黑部水壩頂部欣賞放水時,在那 日本規模第一 的水壩後方之溪谷深處,竟然隱藏著一條少為人知的登山步道。 相關參考連結 下ノ廊下を含む活動日記一覧(YAMAP) 登山ルート情報 - 阿曽原温泉小屋 立山黒部アルペンルート|公式サイト アルピコ交通|路線バス 扇沢線 くろよん(黒部ダム)ーその手に未来をー|関西電力 2021年の番組~最後の秘境・黒部源流紀行【小椋久美子が黒部川の“最初の一滴”を目指す旅】 【下の廊下】黒部峡谷の断崖絶壁を命懸けで歩く(前編) 【下の廊下】落ちたら終わりの絶景登山道(後編) 【テント泊登山】断崖絶壁30kmの道、黒部峡谷の歴史を歩く|旧日電歩道-下ノ廊下-水平歩道 黒部源流と大峡谷( 圖片來源 ) 雖然排隊人潮很多,但是早上7點半準時檢票上車,群眾也非常有秩序和效率的往前進,似乎連一點時間也沒有耽誤到就準時發車了,日...

Using Google Contact API to import Gmail Contacts in Rails App

The Google Contacts API allows users to retrieve their email contacts from a gmail account without giving a gmail password to the requesting site. This system allows social networking site users to invite friends and find existing users they know without exposing their gmail accounts to malicious site owners or poor security practices.

The Contacts API allows developers to create, read, update, and delete contacts using the Google Data protocol, based on AtomPub," the announcement says. "It also allows for incremental sync by supporting the 'updated-min' and 'showdeleted' parameters.

邀請朋友是現今的社群網站必備的功能,許多社群網站都允許讓用戶透過GMail,Hotmail,Yahoo! Mail等郵件服務匯入自己的聯絡人列表來邀請朋友。早期在ASP.Net,JAVA,PHP這些程式語言的典型作法是透過一些Library來實作匯入聯絡人清單,而在Ruby on Rails則有Contacts Gem這類的套件可以使用;但缺點是用戶必須在第三方網站所提供的表單上鍵入自己的GMail帳號密碼,如此一來安全性問題就產生了,儘管提供此類功能的網站都會在旁邊註明不會儲存用戶的帳號密碼,但是你真的信的過這些網站嗎?所幸Google Contacts API的推出解決了這個問題,下面我們將實作透過Google的Authsub驗證方式在Rails網站上從Google Contact API匯入聯絡人列表的功能。


下圖是Twitter匯入GMail聯絡人功能的畫面:


首先需要到Google的註冊頁面註冊並驗證你的網域名稱,這裡的callback_url必須對映到應用程式裡的方法,然後我們還要上傳一個X.509 certificate檔案:

https://www.google.com/accounts/ManageDomains

Registration for Web-Based Applications
http://code.google.com/apis/accounts/docs/RegistrationForWebAppsAuto.html

在*NIX和OS X平台上可以使用OpenSSL來產生RSA Keys和certificate(將www.example.com改成你的域名):

這個指令會產生rsakey.pem和rsacert.pem兩個檔案,將rsacert.pem上傳至Google的Manage Domains頁面,並將rsakey.pem放置到#{RAILS_ROOT}/config目錄下。

AuthSub in the Google Data Protocol Client Libraries
http://code.google.com/intl/zh-TW/apis/gdata/docs/auth/authsub.html

Authentication for Web Applications
http://code.google.com/intl/zh-TW/apis/accounts/docs/AuthForWebApps.html

之後當使用者按下"從GMail匯入聯絡人"連結後,使用者會被導向Google帳戶登入頁面(如果尚未登入),然後同意授權應用程式存取他們的GMail聯絡人資料,之後Google會傳回一個AuthSub Token給我們的應用程式。


授權應用程式存取Google聯絡人資料


下面是實作的Ruby程式碼:

首先我們在Google的Manage Domains頁面將callback_url設為http://www.example.com/authsub,因此我們可以在/config/routes.rb裡面添加路徑映射:

map.connect 'authsub', :controller => 'gmail_contacts', :action => 'authsub'

接下來新增一個GmailContacts Controller 內容如下:

然後在Application Controller添加下面內容:

接著在config/initializers目錄下建立一個google.rb 內容如下:

最後編輯/app/views/gmail_contacts/import.html.erb 內容如下:


現在我們已經可以成功從GMail匯入使用者的聯絡人列表,而且使用者並不需要在我們的網站上輸入任何GMail帳號密碼,所有的驗證過程都是在Google網站上以SSL安全連線來完成。接下來只要將這個部份整合到你網站上的邀請朋友功能,就能夠讓使用者選擇要發送邀請給哪些GMail上的聯絡人了!

參考資料:

Google Contacts API
http://code.google.com/intl/zh-TW/apis/contacts/

Contacts Gem at Github
http://github.com/cardmagic/contacts

ricardoalmeida / contacts_rails at Github
http://github.com/ricardoalmeida/contacts_rails

Google Data on Rails
http://code.google.com/intl/zh-TW/apis/gdata/articles/gdata_on_rails.html

Using Google OAuth in Ruby on Rails Sites
http://www.manu-j.com/blog/add-google-oauth-ruby-on-rails-sites/214/

Import Gmail Contacts using Ruby on Rails
http://blog.adsdevshop.com/2008/04/18/import-gmail-contacts-using-ruby-on-rails/

A Little Help on Importing Gmail Contacts using Ruby on Rails
http://www.theirishpenguin.com/2008/06/25/a-little-help-on-importing-gmail-contacts-using-ruby-on-rails/

Import contacts list in rails
http://blog.brijeshshah.com/import-contacts-list-in-rails/

blackbook gem (Contact Importer gem for Ruby on Rails)
http://saravani.wordpress.com/2009/03/13/blackbook-gem-contact-importer/

Fetching Cotacts From Gmail, Yahoo And Hotmail
http://puneetitengineer.wordpress.com/2008/09/26/fetching-cotacts-from-gmail-yahoo-and-hotmail/


Here is a (incomplete) list of pages with documentation for different open apis:

Hotmail: http://dev.live.com/contacts/
Gmail: http://googledataapis.blogspot.com/2008/03/3-2-1-contact-api-has-landed.html
Yahoo: http://developer.yahoo.com/social/contacts/ , http://developer.yahoo.com/addressbook/

熱門文章

Mar 2025【桃園大溪】金面山(小百岳 No.021)、金山面山健行|阮家土雞城起登

Sep 2024 晚夏的黑部源流4泊5日山旅 PART ①【溪流登攀&溫泉三昧】赤木沢~五郎沢~祖父沢遡行&雲ノ平~高天原~裏銀座縱走(旅途的開始)

Oct 21~24, 2023【晚秋の贅沢な山旅 PART②】黒部峽谷♡下之廊下|日本北阿爾卑斯山秘境健行+野營+秘湯溫泉 DAY 1(黒部水壩〜下之廊下〜阿曾原溫泉)

2019 Aug 16~18【福建南平】中國世界遺產~福建武夷山遊記。登天遊峰、臨九曲溪、品大紅袍

Sep 2025【新北雙溪】蝙蝠山、苕谷瀑布、百二階古道O形|山頂有360度展望,但之後的路線蜘蛛絲有點多

2019, July 7~8【中國山東】老司機帶你攀登72位古代帝王曾登臨朝拜,以五嶽獨尊名揚天下的泰山(歷史典故+遊覽路線+遊記+照片)

Mar 12, 2022【重機一日遊】走北橫至宜蘭,經梨山、武嶺下埔里,再走台三線回桃園|16小時的半圈環島

Aug 2025【新北金山】循竹子山古道(前段)造訪阿里磅瀑布|陽明山第一大瀑布|冷門山徑

日本の登山の歷史

2019.10.9~13【令和元年の紅葉の山旅へ PART①】秋の贅沢、黒部川の源流へ北アルプス深部を縦走5日間!Day0、Day1(前泊、折立~藥師岳山莊)

文章列表

Contact

名稱

以電子郵件傳送 *

訊息 *