プロファイルの切り替え
異なるプロファイルセッション間で切り替える(例えば複数プロファイルでテストする)には、まず現在のプロファイルをログアウトする必要があります。適切にプロファイル切り替えを扱う方法については、Automatic Logout of a Profile Session を参照してください。Private Key と Profile Key
Private Key の入手先
Private Key ファイル(private.key)とサンプル Postman JSON ファイルは、オンボーディング時に受け取る Integration Package に含まれています。 Integration Package は、Ayrshare 開発者ダッシュボードの API ページ -> Integration Package からも取得できます。Private Key の使用方法
Private Key の private.key はファイルから読み取り、privateKey フィールドに文字列として送信することをお勧めします。これにより、改行を含むすべての文字を保持できます。
Private Key は正確でなければならず、改行を含むすべての文字を保持する必要があります。
コードにキーを直接貼り付ける場合は、改行を手動で \n 文字に置き換えるか、文字列を URL エンコードする必要があるかもしれません。
コードにキーを直接貼り付けると、しばしば問題が発生します。
JSON Web Token を生成する
JSON Web Token (JWT) を生成する方法を説明する 1 分の動画:expiresIn を参照してください。
JWT URL を開く
JWT URL は、新しいブラウザタブ、ブラウザウィンドウ、または iOS 上の View Controller で開きます。 新しいウィンドウやタブの閉じる、またはリダイレクトする動作 を制御することができます。ソーシャルネットワークは、URL を iFrame で開いたり、承認済みのパートナー オリジンドメイン profile.ayrshare.com を
難読化することを許可していません。
JWT URL を検証する
generateJWT エンドポイントは、デフォルトでは返された JWT URL を検証しません。
例えば、破損した Private Key が generateJWT に渡されても URL は返され、その URL は 401 エラーになります。
generateJWT のボディパラメータに verify: true を含めることで、返された JWT URL を検証できます。JWT URL を検証できない場合は、エラーが返されます。例えば、Private Key の文字が 1 文字削除されていた場合、以下が返されます:
JWT Error
verify: true は本番以外の環境でのみ使用することを推奨します。
Postman でのテスト
まず Postman で JWT URL の作成をテストすることを 推奨します。 ダッシュボードの Primary Profile API Key ページにある Integration Package には、JWT URL 作成を検証するために必要なすべてが含まれた Postman 設定 JSON のサンプルファイルが含まれています。 設定ファイルを Postman にインポートし、profileKey の body フィールドにテストしたいプロファイル(Ayrshare 開発者ダッシュボードで切り替えることで取得できます)の Profile Key を入力し、青い Send ボタンをクリックするだけです。
その他の必須フィールドはすでにすべて入力済みです。
Postman からコードを生成 することも、ディレクトリやデータベースからキーファイルを読み取ることもできます。
Instagram のリンク方式
Instagram アカウントは 2 つの方法 でリンクできます: Instagram Login を用いて直接リンクする方法と、接続された Facebook Page を経由する方法です。 ユーザーがソーシャルリンクページで Instagram ボタンをクリックしたときにどちらのフローが開始されるかは、通常、ダッシュボードのアカウント全体の Instagram Login 設定によって制御されます。 generateJWT エンドポイント のinstagramLinkMethod ボディパラメータを使用すると、単一のリンク URL に対してその設定を上書きできます:
例えば、アカウントのデフォルトが Facebook Page リンクの場合、このリンクセッションだけ強制的に Instagram Login を直接使うようにするには次のようにします:
Instagram Link Method
- この上書きは、返された URL から開かれるリンクページにのみ適用されます。アカウント全体の Instagram Login 設定を変更したり、他のリンクセッションに影響を与えたりしません。
instagramLinkMethodが省略された場合、リンクページはこれまでどおりアカウント全体の設定を使用します。- 無効な値が送信されると、有効な値(
instagram、facebook)を列挙した400エラーが返されます。 - 上書きを選択する前に、2 つのフロー間の機能の違い を確認してください。ハッシュタグ検索やコラボレーションなど、一部の Instagram 機能は Facebook Page 認証のみで利用可能です。
JWT の有効期限(Expires In)
デフォルトの 5 分より長い JWT タイムアウトが必要な場合は、expiresIn フィールドを含めます。
例えば、JWT URL を 30 分間有効にするには、以下の JSON を送信します:
JWT Expires In
統合
Bubble.io JWT
Bubble ユーザーの場合は、Bubble.io セクションの Generate JWT Token を参照してください:Bubble Generate JWT
モバイル JWT
以下の Swift、Flutter、React Native のモバイルコード例 は、iOS デバイスでソーシャルリンクページを起動する方法を示しています。jwtURL の String 変数を /generateJWT エンドポイント からの戻り値に置き換えてください。
Swift (iOS)
Swift では、UIViewController と SFSafariViewControllerDelegate を使用してください。
Facebook や Google などの一部のソーシャルネットワークが認証をブロックするため、WebView の使用は推奨しません。
Flutter (Dart)
Flutter (Dart) には、UIViewController や SFSafariViewController に直接相当するものはありません。
ただし、url_launcher パッケージを使用して Web URL を開くことで、同様の機能を実現できます。
React Native
React Native にもSFSafariViewController に直接相当するものはありませんが、expo-web-browser によって提供される WebBrowser API を使用して、システムブラウザとクッキーを共有するモーダルブラウザウィンドウで URL を開くことで、同様の結果を得ることができます。あるいは、React Native 標準の Linking 関数を使用して Safari を開くこともできます: await Linking.canOpenURL(jwtURL);
モバイルコード例
アカウント連携メール(Connect Accounts Email)
より長い有効期限オプションと組み合わせて、Ayrshare からユーザーにソーシャル連携ページへのリンクを自動的にメール送信することもできます。Connect Accounts JSON
例えば以下の JSON を使用すると、会社名 ACME、連絡先メールsupport@mycompany.com、および利用規約とプライバシーポリシーへのリンクとともに john@user.com にメールが送信されます:
Example Contact Email Request
Example Contact Email Response
JWT Connect Accounts メールの例
ソーシャル連携ページを開く Connect Account リンクを含むメールの例です:
Social Connect Hub <connect@socialconnecthub.com>