私のアプリケーションでは、インターフェースを介して投稿する目的で、ユーザーが oauth を介して Facebook アカウントを接続できるようにしています。ページアカウントと、ページを管理するだけの通常アカウントの両方に対応しています。
また、opengraph API 呼び出しの結果を調べて、プロファイルまたはページへの有効な URL を取得します。使用するプライマリ エンドポイントはhttps://graph.facebook.com/me (oauth 資格情報を使用) です。一部のページのみのアカウントの場合、返されたオブジェクトには「リンク」値があり、Web ブラウザーに入力すると 404 になります。
私が確認した不正な URL は、次の 2 つのケースに分類されます。
URL は「www.facebook.com/{page_id}」の形式にすることができます。これは、一部のページでは 404 になりますが、他のページではそうではありません。
URL は「www.facebook.com/profile.php?id={user_id}」の形式にすることができ、多くの場合 404 になります。
すべてのアカウントで機能する唯一の URL 形式は、www.facebook.com/profile.php?id={page_id} です。最初のケースでは、'link' フィールドが適切な形式ではないことを検出し (profile.php?id=... を使用)、適切な構造を持つ URL を構築し、それが機能します。
追加を検討している次のヒューリスティックは、URL が適切な形式であるかどうかを確認することですが、{user_id} を profile.php の id 引数として使用し、{page_id} を使用して URL を構築するだけです。明らかに、これはばかげています。
アカウントが無効なリンクを返すかどうかを知る良い方法はありますか? これは API のバグですか? オープン グラフ API のユーザーがプロファイル/ページへの有効なリンクを取得するための最も信頼できる方法は何ですか?