Google Oauth2 API 取得認證碼程式片段,google其實有提供client library,所以其實可以直接使用library來完成下面的工作。
這程式片段是Installed Applications的認證過程,其他狀況會有些微差異,不詳述。
簡單說一下Installed Applications認證的過程:
跟Oauth伺服器請求特定權限
=>google詢問使用者是否願意開放此權限給應用程式
=>使用者同意
=>google傳回存取碼
=>利用純取碼向OAuth伺服器請求授權碼
=>伺服器傳回授權碼
=>應用程式利用授權碼請求API(執行API指令)
HtmlAgilityPack 是用來解析HTML檔的類別,需要上網另行安裝。
這個範例是用來取得blogger存取權限的認授權碼,所以在取得存取碼的網址中,scope的值是Blogger權限。
下面網址可以用來取得各種google API權限:
https://developers.google.com/identity/
protocols/googlescopes#analyticsv3
注意一點,請求認證的網址是https://開頭的。
由於Installed Applications不會設定redirect_uri的值,所以我們使用預設的3種中的一種urn:ietf:wg:oauth:2.0:oob。
client_id 是妳應用程式當初申請憑證的client_id。
當按下按鈕時會進入使用者同意的畫面