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

圖片
今年晚夏的山旅,我前往了日本北阿爾卑斯山脈黑部源流域進行為期五天四夜的溪流登攀+登山縱走行程。黑部川源流一帶的山域,雖然過去幾年已造訪過多次,不過這回是第一次在日本進行溪流登攀(日本叫「 沢登り 」),而且是在我特愛的黑部川流域,讓我對黑部源流域有了更進一步的認識。 此行也順路造訪了五年前就計畫要去,但是因爲颱風而沒能去成的「 雲ノ平 」,以及有「 日本第一遠的溫泉 」之稱的秘湯「 高天原溫泉 」泡湯。然後還走了去年因為天氣惡劣而沒能走的「 裏銀座縱走路線 」下山,完成這趟縱橫黑部源流域,總距離50幾公里的溪流登攀和登山旅行。 黑部川 (日語:黒部川/くろべがわ)是日本富山縣東部的一級河川,為黑部川水系的本流,它被列為富山縣的七大河流之一,其他六條河流分別是片貝川、早月川、常願寺川、神通川、莊川和小矢部川。 黑部川 大部分蜿蜒於深山內,形成十分陡峭的黑部峽谷,如果想親身感受黑部峽谷的壯闊,走一趟 下ノ廊下 和 水平步道 ,絕對是畢生難忘的體驗。 下圖為黑部川水系流域的示意圖,從海拔2924米的 鷲羽岳 降下的的最初的一滴水,流經 奧ノ廊下 、 上ノ廊下 、 下ノ廊下 ,並匯聚了黑部山區眾多支流的溪水後,向北奔流而下,然後流入富山灣,最後進入日本海。 下圖是這趟山旅所進行的溪流登攀(沢登り)的區域,包括 赤木沢 、 五郎沢 、 祖父沢 等黑部川支流,主要位於黑部川的源頭,尤其是赤木沢,更有著「 日本第一美溪 」之稱號。 黑部源流…這幾個字對登山者來說有著特殊的魔力。人跡罕至的秘境,峽谷綿延的 上ノ廊下 ,激流沖刷岩石的 下ノ廊下 ,源頭的雲ノ平瑞士庭園等。在這黑部源流的一隅,一條溫柔的小溪緩緩流入。赤木沢與黑部川本流交匯處的絕美景色,展現了大自然鬼斧神工的美麗,在陽光照耀下的溪流和深潭,呈現出豐富的色彩變化,其美景宛如天國一般。 下圖是我這趟五天四夜的山旅,所行經過的整個路線(使用 YAMAP 紀錄),從富山縣的 折立登山口 入山,溯行黑部源流域的多個溪流(黑部川上游的支流),並順訪 雲ノ平 和 高天原溫泉 後,再走 裏銀座縱走路 ,由高瀨湖下山,總距離約53.6公里(不過在 Sports Tracker 上面的紀錄卻是63.3公里,不知道哪個才是正確的)。 這趟山旅的途中,依序住宿 藥師沢小屋 、 黑部五郎小屋 、 雲ノ平山莊 、 水晶小屋 ,這些都是以前沒有住過...

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/

熱門文章

Jan 2025【日本東北】溫泉三昧之旅② 在大雪飄落的雪國,追尋秘湯之宿與極上美食(仙台~品嚐極上米澤牛&奧羽的百年藥湯-鎌先溫泉)

Jul 2025【新北雙溪】十年荒徑重見天日!雙溪二柑O型健行🍊(威惠廟~柑腳城山~柑腳山~崩山坑古道)

Jan 2025【苗栗三義】富貴牡丹(三義館)人文藝術餐廳|預約制|在美術館裡吃無菜單料理

日本の登山の歷史

Jun 2025【彰化員林】月光山舍土雞料理景觀餐廳(寵物友善餐廳)|員林藤山步道散步

May 2023【雲林古坑】 負離子濃度達都市40倍/漫步木馬古道/順訪雲嶺之丘/山合苑喝咖啡/秋田犬

日月潭四姊妹之水社大山與環湖自行車道~我去去就回!

斗南小吃推薦!斗南米糕甲、圓環當歸鴨麵線

July 2024【台北士林】陽明山彼端的原始秘境|颱風後的鹿角坑生態保護區|循著疊石指引造訪楓林瀑布

文章列表

Contact

名稱

以電子郵件傳送 *

訊息 *