9

ユーザーのニュースフィードを取得するために、「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";

投稿が写真かどうかのチェックはコードの少し前にあるため、投稿タイプが「写真」の場合は常にこれらの行が実行されます。

4

7 に答える 7

9

me/home-graph api には、 というフィールドがいくつかあります"object_id" and "type"。タイプが「写真」の場合、この object_id 値があります。このオブジェクト ID を使用して別のグラフ API 呼び出しを行うと、 というオブジェクトが取得され"images"ます。このオブジェクトにはいくつかのオプション (異なるサイズ) があります。

また

以下のようなオブジェクト ID を使用して、写真のアルバム サイズのバージョンを取得します。この呼び出しでサポートされているタイプは「サムネイル、通常、アルバム」です。

https://graph.facebook.com/{object-id-from-feed}/picture?type=normal 

また、サポートされているオブジェクトの例セクションの下にあるこのリンクもチェックしてください。

于 2013-03-12T02:40:56.840 に答える
5

あなたがする必要があるのは(Graph API)だけです:

http://graph.facebook.com/me?fields=picture.height(961) 
// all any height which u want

または(他のユーザーの場合)

http://graph.facebook.com/{user_id}?fields=picture.height(961) 
// replace {user_id} with the user id you want

アップデート :

Facebook API は更新を続けるため、このソリューションは廃止される可能性があります。この回避策は、今後機能しなくなる可能性があります。

このエンドポイントを実行するには、アクセス トークンも必要になる場合があります。

于 2015-10-26T12:07:28.830 に答える
0

上記のどれも私にとってはうまくいきませんでした。フィールドの添付ファイルを求めて解決しました

&fields=picture.type(large),attachments
于 2017-07-11T10:01:59.560 に答える