ユーザーのニュースフィードを取得するために、「me/home」の Facebook Graph API 呼び出しを行っています。誰もが知っているように、「写真」フィールドに表示される URL は低解像度の写真であり、100x100 を超えるものは見栄えがよくありません。「object_id」に対して別のグラフ呼び出しを実行し、その結果の「source」フィールドを使用することで、高解像度の画像への URL を取得できることはわかっています。
しかし、私は URL を見ていて、別のグラフ呼び出しを行わなくても、ある URL を別の URL に変換する方法があるのではないかと考えました。それか、他のフィールドの既存のデータから高解像度のものを構築します。たとえば、最初の URL は低解像度の URL で、2 番目の URL はソース解像度です。
http://photos-d.ak.fbcdn.net/hphotos-ak-ash4/297313_10152643117455790_610095553_s.jpg
http://sphotos-b.xx.fbcdn.net/hphotos-ash4/297313_10152643117455790_610095553_n.jpg
どうやら数字は(something I don't know)_("object_id")_(something else I don't know)
数値セクションを真ん中に置いたまま URL を変更しようとした経験のある人はいますか? 通常、正規表現の問題を引き起こす可能性のあるバリエーションはありますか?
編集:これが私が使用しているコードです。
String objectId = null;
if (jsonObject.has("object_id")) {
objectId = jsonObject.getString("object_id");
}
String postPhoto = "http://graph.facebook.com/" + objectId + "/picture";
投稿が写真かどうかのチェックはコードの少し前にあるため、投稿タイプが「写真」の場合は常にこれらの行が実行されます。