アルバムに関する情報を取得するとき、場所名のみを取得できます:
select aid, owner, location from album;
しかし、さらに操作するには場所 ID も必要です。
「場所」テーブルにクエリを実行して、アルバムの場所の名前を持つ場所を返すことはできません (「名前」列は一意ではなく、場所テーブルでインデックス化されていません)。
その場所の ID を取得するにはどうすればよいですか?
アルバムに関する情報を取得するとき、場所名のみを取得できます:
select aid, owner, location from album;
しかし、さらに操作するには場所 ID も必要です。
「場所」テーブルにクエリを実行して、アルバムの場所の名前を持つ場所を返すことはできません (「名前」列は一意ではなく、場所テーブルでインデックス化されていません)。
その場所の ID を取得するにはどうすればよいですか?
それを見つけた。そのアルバムに関連付けられた写真を取得するときに、「写真」テーブルから取得できます。
select aid, place_id from photo where pid = (select cover_pid from album where aid = you_post_attachment_fb_object_id)
ユーザーは好きなものをこのフィールドに入力できます。そのため、そこから得られる情報は必ずしも Facebook の特定の場所に対応している必要はありません。
たとえば、アルバムに「2012 年の休日の写真」という名前を付けて、フィールドに「ニューヨーク、ロンドン、ベルリン、東京」と入力すると、API が特定の場所 ID を返すことは期待できません。
これは 100% の場合には機能しません。アルバムが空であるか、アルバム/カバー写真の場所が異なる可能性があるためです。