50833109 網際內容管理系統

  • Home
    • Site Map
    • reveal
    • blog
  • w1-w2
  • w6-7
    • 利用手機鏡頭當作 webcam
    • 讓手機可以利用電腦熱點上網
    • 需要 clone 個人倉儲時
    • 現場直播的 audio 錄音設定
      • 利用 git 指令建立 cmsimde 網站
  • w8-9
    • 網路架構與設定簡介
      • 資料鏈結層 (Data-Link Layer)
      • 網路層 (Network Layer)
      • 表現層 (Presentation Layer
      • 應用層 (Application Layer)
    • 電腦軟硬體簡介
      • 機殼:容納和保護主機營體的主機殼
      • 電源(Power):是提供內接式元件電力來源的組件,他將市電轉換為直流電供給其他元件使用
      • 顯示卡(VGA ):顯示卡在電腦中主要作用就是程式運行時根據CPU提共的指令和有關數據
      • 網路卡:網路卡是電腦與纜線的介面,有依各專門處裡網路介面的處裡器,會依照記憶體內程式動作。
      • 硬碟:硬碟就是電腦中負責儲存資料的工具,它就像是一各資料庫依樣,電腦中的大小資料均可以在此找到
      • 軟碟機:軟碟機又叫磁碟機,是一種儲存資料的工具,當拰要儲存檔案大小在1.44MB以下的資料時,磁碟片畢竟是一項蠻方便操作且攜帶的設備,所以軟碟機也可稱為磁片機。
  • w10
  • w12-13
  • 以 SSH 維護倉儲
w10 << Previous Next >> 以 SSH 維護倉儲

w12-13

基本概念:

1. 這裡所指的 Blogger API 為: https://developers.google.com/blogger/docs/3.0/using

2. 將 CMSiMDE 中的 Pelican Blog 內容同步到 Google Blogger 的目的, 在讓網際內容管理系統中的網誌原始資料修改過程具備版次, 而且可同時將網誌出版在 Github Pages 與 Google Blogger 中, 讓網際內容的保存較具有永續性.

3. Google Blogger 中的網誌系統各有獨立 ID, 這裡稱為 blog_id, 而網誌中的每一篇文章各有獨立 ID, 這裡稱為 post_id.

4. Google Blogger 管理者登入後, 在 Settings - Permissions 項下, 允許 invite more authors, 而且在 Settings - Permissions - Blog admins and Authors 項下, 允許將所邀請共同寫作的 Author 提升為 Admin 管理者.

5. Google 的每一個 API 都允許使用者建立以 Oauth2 為基礎的登入使用授權憑證, 配合所啟動的各種 API 程式庫, 一旦啟用並登入後, 可以透過程式方法, 呼叫程式庫功能, 對各種 Google 所提供的服務 (Blogger, Drive, Gmail, Calendar 等) 新增內容. 以 Blogger 而言, 只要使用者被設為某一網誌的共同作者, 即擁有在該網誌新增或編輯自己所發布的網誌文章權限.

6. 使用者登入 Google 帳號後, 在 https://console.developers.google.com 中所建立的 Oauth2 client ID, 可以下載存為 client_secrets.json 檔案.

7. client_secrets.json 檔案則可以透過下列程式, 轉換為 credential_token.dat, 使用者針對特定啟用的 API 程式庫, 可以在讀取 credential_token.dat 的情況下, 取得與登入 Gmail 帳號相同的使用授權, 直接在擁有權限的 blog_id 中新增特定的文章 (並以特定的 post_id 辨識).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
@language python
# https://developers.google.com/blogger/docs/3.0/using
# under Mac command + b to execute
import pickle
import os
from googleapiclient.discovery import build
from google_auth_oauthlib.flow import InstalledAppFlow
 
 
SCOPES = ['https://www.googleapis.com/auth/blogger', ]
 
# we check if the file tBo store the credentials exists
if not os.path.exists('./../../yen_gm_blogger_token.dat'):
 
    flow = InstalledAppFlow.from_client_secrets_file('./../../yen_gm_blogger_secrets.json', SCOPES)
    credentials = flow.run_local_server()
 
    with open('./../../yen_gm_blogger_token.dat', 'wb') as credentials_dat:
        pickle.dump(credentials, credentials_dat)
else:
    with open('./../../yen_gm_blogger_token.dat', 'rb') as credentials_dat:
        credentials = pickle.load(credentials_dat)
service = build('blogger', 'v3', credentials=credentials)
g.es(service)

w10 << Previous Next >> 以 SSH 維護倉儲

Copyright © All rights reserved | This template is made with by Colorlib