發表文章

如何不寫程式取得 Facebook 粉絲專頁永久 Access Token?

圖片
我們需要透過 Facebook 提供的圖形 API(Graph API)來取得每個粉絲專頁的權杖(token)。
以下是 Facebook 文件中對於 Graph API 的描述:圖形 API 是在 Facebook 社交關係圖存取和輸出資料的主要方法。這是低層級 HTTP 型 API,可用來查詢資料、發佈新動態、上傳相片、以及各種應用程式可能要進行的工作。本指南旨在說明如何透過圖形 API 完成上述所有工作。步驟 1:前往 Graph API Explorer進入 Facebook for Developers(http://developers.facebook.com)後,選擇「工具及支援」,找到「圖形 API 測試工具(Graph API Explorer)」。步驟 2:選取 Facebook App接著在應用程式(Applications)下拉選單中,選擇用於取得 Access Token 的 app。這裡以我先前創的,名為「小克’s 部落格」的 app 為例。尚未建立 app 的話可以到 https://developers.facebook.com/apps/ 先建一個,這裡不再贅述。
步驟 3:取得 User Access Token接下來這一步很重要,我們要勾選要給予什麼權限給 App。先點選「取得權杖(Get Token)」中的「取得用戶存取權杖(Get User Access Token)」。
此時會跳出一個「選擇權限(Select Permissions)」視窗,選擇你想要授權的權限。這裡以我想要用 API 張貼文章到粉絲專頁為例,我需要的權限為「publish_pages」和「manage_pages」。選好後點選下方的「取得存取權杖(Get Access Token)」
接著就會跳出 Facebook app 常見的授權視窗,此視窗先授權帳號的基本公開資料。
授權後會再跳出進階的授權選項,請依需求授權(如:僅授權部分粉絲專頁)。
步驟 4:延長/換取長期 Token授權後,會拿到一組短期的用戶存取權杖(short-lived user access token)。點擊 Access Token 欄位中的 ⓘ 可以看到這個 token 的相關資訊,目前這組 token 是有到期時間的。這時選擇下方的「以存取權杖工具開啟(Open in Access…

[筆記] 複製 Git repo 要怎麼做?

因為臨時有要多開站台的需求,需要同一個 repo 複製成多個目錄。
git clone 指令預設的目錄名稱就是跟原始 repo 一樣,無法達到我們的需求。
於是就試試看直接複製 .git 目錄吧。步驟一:複製 .git假設我們是要把 /mnt/www 中的 web-a 複製到 web-b$ cd /mnt/www $ sudo mkdir -p ./web-b/.git $ cp -r ./web-a/.git ./web-b 步驟二:重置 git 狀態接著我們要使用 git reset 功能來重置到 git 的初始狀態,
千萬不要亂 push 啊$ git status # 可以查看當前狀態,目前它認為你把所有檔案刪了 $ git reset --hard HEAD $ git status # 再看一次當前狀態,目前是回到最新的 commit 狀態 步驟三:抓檔沒錯,就是可以開始 pull 了$ git pull # 可以開始抓檔了 完成啦!接下來就是等同你全新 clone 一個 repo 下來啦,
該做什麼就做吧!
例如:Laravel 專案從 GitHub clone 下來後要做什麼?

PHP 可以用井號(#, number sign)註解?

可能是以前學校都教 C/C++,在自學 PHP 和 Laravel 的過程中一直都是使用 C-like 的註解方式。常見的就是以下幾種寫法:// 單行註解 /* 多行註解 多行註解 */ 結果今天在公司的 code 發現了 # 開頭的程式?!趕快上網查了一下,在 Stack Overflow 看到了 Can I use hash sign (#) for commenting in PHP? 這篇。回答者 Aziz 提到:The answer to the question Is there any difference between using “#” and “//” for single-line comments in PHP? is no.There is no difference. By looking at the parsing part of PHP source code, both “#” and “//” are handled by the same code and therefore have the exact same behavior.從附上的 PHP 原始碼看來,# 和 // 的功用是一樣的了。來查查看官方文件是怎麼說:PHP supports ‘C’, ‘C++’ and Unix shell-style (Perl style) comments. For example:<?php echo 'This is a test'; // This is a one-line c++ style comment /* This is a multi line comment yet another line of comment */ echo 'This is yet another test'; echo 'One Final Test'; # This is a one-line shell-style comment ?> PHP 支援 C、C++ 和 Unix Shell 風格(Perl 風格)的註解。結論:又多一種註解可以用了# 單行註解

Laravel 專案從 GitHub clone 下來後要做什麼?

筆者不小心把專案搞壞了,於是把整個目錄砍掉重新從 GitHub clone 下來。
由於維護和安全性等考量,Laravel 預設有 .gitignore,有些檔案並沒有 push 到 GitHub。
專案 clone 之後必須要「重建」才能正常執行。
重建步驟 以下是幾個簡單的重建步驟:
1. 安裝依賴套件 到專案目錄執行以下指令,將框架所需的相依套件安裝完成:
$ composer install 2. 設定 .env 檔 將 .env.example 複製成 .env。
如果先前沒有花時間維護 .env.example,記得要修改裡面的內容,
如資料庫的相關參數DB_DATABASE=、DB_USERNAME和DB_PASSWORD。
3. 設定加密的 APP_KEY 執行以下指令,Laravel 就會自動在 .env 設定新的 APP_KEY
$ php artisan key:generate 4. 設定好你的資料庫 例如建立 SQLite 在 Laravel 的預設位置
$ touch database/database.sqlite 或是建立 MySQL 的所需資料庫
$ mysql -uroot -p mysql> CREATE DATABASE your_database_name; 5. Migration 將資料表結構建立起來
$ php artisan migrate 故障排除 如果你在使用valet或是php artisan serve等伺服器的時候遇到以下錯誤:
The only supported ciphers are AES-128-CBC and AES-256-CBC with the correct key lengths. 就有可能是上面的動作沒有做完前就先運行 Laravel。
請做完以上重建步驟後,直接重開伺服器即可。
如果還是停在相同錯誤 請先清除設定檔快取後重開 Laravel。清除快取指令為:
$ php artisan config:clear 參考資料
如何重建由GitHub下載的Laravel專案? | 點燈坊The only supported ciphers are AES-128-CBC and AES-256-CBC #9080

台灣註冊 QQ 時出現「受惡意註冊影響,您暫時無法完成註冊,請24小時後再試」怎麼解?(附 macOS QQ 英文轉中文方法)

圖片
雖然現在大家都比較常用騰訊的微信(WeChat),但是難免還是有些公司在跟中國同仁聯絡時,選用較傳統的 QQ,敝公司即是一例。

於是你可能假想的步驟如下:

下載 QQ 應用程式按個註冊之類的按鈕填填資料完成註冊登入
結果你會發現,似乎沒有想像中順利。
即使認真地填寫真實資料,也照著步驟填寫手機收到的驗證碼,他還是給你大大的錯誤訊息:

[筆記] zsh 的 PATH 不會將 ~ (tilde) 替代為家目錄位置

圖片
最近終於有點時間調整自己的開發環境

將 bash 替換成 zsh



結果在手動到新增 PATH 後

依然顯示

zsh: command not found
這實在是很惱人



後來上網找了很久資料終於看到問題點

是因為 zsh 對於雙引號中間的 ~ 並不解釋為家目錄



zsh 的 guide 中

在 Substitutions 的 Double quotes 章節內容如下

They allow parameter expansion, command substitution and arithmetic substitution, but not any of the others: process substitution doesn't happen, braces and initial tildes and equals signs are not expanded and patterns are not special.
中間還有附上一個表格方便理解



因為我原本是設定

export PATH="~/.composer/vendor/bin:$PATH"

依據規則,並不會替換成家目錄的位置



那怎麼辦呢?

除了替換成絕對路徑

例如 Linux 的 /home/[username] 或 Mac 的 /Users/[username]



最簡單的方式是將波浪符號(~, tilde)

直接換成 $HOME 最快啦!

結果如下

export PATH="$HOME/.composer/vendor/bin:$PATH"

收工!





本著作由小克製作,以創用CC 姓名標示-相同方式分享 4.0 國際 授權條款釋出。
本篇永久網址:http://goodjack.blogspot.com/2016/09/tilde-will-not-be-substituted-for-the-path-to-your-home-directory-in-zsh.html

自己的瀏覽器自己改 (Part 2) -利用新的 jpm Firefox Addon SDK 開發簡單的附加元件

圖片
小克前言這篇是改寫 謀智台客 中的 自己的瀏覽器自己改 (Part I) -利用Firefox Addon SDK開發簡單的附加元件,並參考 MDN 的官方文件jpm與教學文件Getting Started (jpm)
自 Firefox 38 版以後,Mozilla 捨棄舊有基於 Python 的 cfx 工具,而改推基於 Node.js 的 jpm 工具來開發、測試和封裝附加元件。因此,本篇將謀智台客的入門文章改寫成 jpm 版本,並將改寫的內容以 深藍色 標示。

前言 Firefox 最受歡迎的特色之一就是量多而且質精的附加元件 (Add-on),在 Firefox Add-ons 網站 [1] 您可以找到各式各樣的附加元件滿足您的各種上網需求。在這篇文章中我們將會介紹如何利用 Firefox Add-on SDK [2] 來撰寫簡單的附加元件。我們會教您如何利用附加元件來改變網頁的外觀與行為,即使不是自己架設的網站,我們也能隨心所欲的改善它們的使用經驗。