generateJWT 已不再是建立連結 URL 的唯一方式。 它仍然可用,本頁也仍然描述它,但新的整合請使用
建立 Link Session:不需要任何 private key,並且你可以
查看連結是否已被開啟,或在過期前
撤銷它。兩個端點使用同一個驗證器,因此本頁關於 expiresIn、allowedSocial、instagramLinkMethod、
redirect、logout 和 Connect Accounts 電子郵件的所有說明對兩者都適用。generateJWT 保留了三項新
端點會拒絕的寬鬆處理:allowedSocial 中無法識別的網路、只提供 X 憑證的一半,以及非字串的 redirect。傳送連結 URL
切換 Profile
若要在不同 Profile 工作階段間切換(例如以多個 Profile 進行測試時),你必須先登出目前的 Profile。有關如何正確處理 Profile 切換,請參閱自動登出 Profile 工作階段。Profile Key
profileKey 指明連結 URL 對應哪一個 User Profile。在 Ayrshare 開發者控制台切換到該 profile 即可找到它。
Private Key 已不再使用。連結 URL 不再簽署,因此無需從檔案讀取任何內容,也無需貼到程式碼中。
privateKey 仍會被接受並忽略,所以現有整合繼續運作,Integration Package 中的 private.key 檔案可以不再使用。產生連結 URL
1 分鐘影片,示範如何建立連結 URL。該影片錄製於 Link Sessions 之前,因此仍然示範了傳送 Private Key;該步驟已不再需要。expiresIn。
開啟連結 URL
在新的瀏覽器分頁、瀏覽器視窗,或 iOS 的 View Controller 中開啟連結 URL。 你可以控制新視窗或分頁的關閉或轉向。社群網路不允許在 iFrame 中開啟該 URL,也不允許遮蔽已核准的合作夥伴來源網域 profile.ayrshare.com。
驗證 URL
verify: true 已不再使用。它會被接受並忽略。
沒有需要驗證的簽署 token:返回的 token 會在你的使用者開啟該 URL 時由連結頁面驗證。此選項過去會用你的 Private Key 重新解析 JWT,以便在你把 URL 發出去之前發現損壞的金鑰。由於流程中已不再有金鑰,這種失敗不會再發生。
在 Postman 中測試
建議先在 Postman 中測試連結 URL 的產生。 在控制台 Primary Profile 的 API Key 頁面可取得的 Integration Package 中,包含一個範例 Postman 設定 JSON 檔案。 只要將設定檔匯入 Postman,在profileKey body 欄位填入你的 Profile Key(可在 Ayrshare 開發者控制台切換到要測試的 Profile 中找到),然後點擊藍色的 Send 按鈕即可。
範例設定仍會預先填入 privateKey 和 domain。privateKey 會被忽略;除非你的帳戶擁有多個連結網域,否則可以清空 domain。
你也可以從 Postman 產生程式碼。
Instagram 連結方式
Instagram 帳號可以透過兩種方式連結:直接使用 Instagram Login,或透過已連結的 Facebook 粉絲專頁。 當使用者在社群連結頁面點擊 Instagram 按鈕時,會啟動哪一種流程,通常由控制台中的帳號層級 Instagram Login 設定控制。 generateJWT 端點的instagramLinkMethod body 參數允許你針對單一連結 URL 覆寫該設定:
舉例來說,若你的帳號預設是使用 Facebook 粉絲專頁連結,以下設定會強制此連結工作階段改用直接的 Instagram Login:
Instagram Link Method
- 覆寫僅套用於從回傳 URL 開啟的連結頁面,不會改變你的帳號層級 Instagram Login 設定,也不會影響其他連結工作階段。
- 若省略
instagramLinkMethod,連結頁面會沿用你的帳號層級設定,與之前一致。 - 若傳入無效值,將回傳
400錯誤,並列出有效值(instagram、facebook)。 - 在選擇覆寫之前,請先參閱兩種流程的功能差異——部分 Instagram 功能,例如 hashtag 搜尋與 collaborations(協作),僅支援 Facebook 粉絲專頁驗證。
JWT Expires In
如果你希望 連結的逾時時間比預設的 5 分鐘更長,請加入expiresIn 欄位。
例如,以下 JSON 會將連結 URL 的有效期設定為 30 分鐘:
JWT Expires In
整合方式
Bubble.io
如果你是 Bubble 使用者,請參閱 Bubble.io 章節中的 在 Bubble 中產生連結 URL 說明:Bubble linking URL
行動端 JWT
下列 Swift、Flutter 與 React Native 行動端程式碼範例示範如何在 iOS 裝置上開啟社群連結頁面。 請將jwtURL 字串變數替換為 /generateJWT 端點的回傳結果。
Swift(iOS)
在 Swift 中,請使用UIViewController 與 SFSafariViewControllerDelegate。
我們不建議使用 WebView,因為 Facebook 與 Google 等部分社群網路會封鎖此類驗證。
Flutter(Dart)
在 Flutter(Dart)中,並沒有與UIViewController 或 SFSafariViewController 直接對應的元件。
不過你可以使用 url_launcher 套件開啟網頁 URL 來達成類似的功能。
React Native
React Native 同樣沒有與SFSafariViewController 直接對應的元件,但你可以使用 expo-web-browser 提供的 WebBrowser API 達成類似效果——它會在一個與系統瀏覽器共用 Cookie 的模式化瀏覽器視窗中開啟 URL。你也可以使用 React Native 內建的 Linking 函式來開啟 Safari:await Linking.canOpenURL(jwtURL);
行動端程式碼範例
Connect Accounts 電子郵件
搭配較長的到期時間選項,你也可以讓 Ayrshare 自動將社群連結頁面的連結以電子郵件寄送給你的使用者。Connect Accounts JSON
例如,以下 JSON 會寄送電子郵件給john@user.com,公司名稱為 ACME、聯絡電子郵件為 support@mycompany.com,並附上服務條款與隱私政策連結:
Example Contact Email Request
Example Contact Email Response
Connect Accounts 電子郵件範例
以下是含有 Connect Account 連結、可開啟社群連結頁面的電子郵件範例: 該電子郵件將由以下地址寄出:Social Connect Hub <connect@socialconnecthub.com>