2011-07-08 18 views
4

私はFacebookのユーザーのアルバムに写真を投稿するiphoneアプリを持っています。私は自分のアプリから投稿された写真を見たいと思います。Facebookへのオフラインでのアルバムへのアクセスは可能ですか?

私のアプリにはオフラインアクセス&ストリームフェイスブックのアクセス許可がありますが、Facebookのuser_idやユーザーに関する情報は保存しません。私はFacebookのアプリケーションキー&の秘密を持っています。

私のアプリに接続しているユーザーのリストをfacebook apiで取得できますか?もっと重要なことに、自分のアプリから投稿された写真を取得できますか?

PHPまたは目的のCのいずれかのガイダンスが参考になります。

答えて

4

ユーザーのアルバムIDをデータベースに保存すると、現在アプリケーションを使用していないユーザーの保存した写真を参照するのが最も簡単です。

アルバムIDのリストをループしてから、/$albumID/photosを呼び出してphotoIDを取得するのと同じくらい簡単です。

には、offline_accessに加えてuser_photosのアクセス許可が必要です。

+0

:https://developers.facebook.com/blog/post/498/ –

+0

おかげで、あなたはalbum_idからすべての写真をつかむ任意のコード例を持っている(またはphoto_idで)して保存しますローカルストレージに? – aporat

+0

'user_photos'権限を使って、ユーザのアルバムのリストを問い合わせることができます。あなたのアプリのアルバムが存在しない場合は、グラフAPIを使用してアルバムを作成し、適切なGraph APIコールを使用して画像をアップロードすることができます –

1

Facebookには、アプリに接続しているユーザーやアクセストークンを取得するためのAPIがありません。あなたがする必要があることは、あなたのサーバーにこれらのアクセストークンとユーザーIDを格納するように、あなたのiPhoneアプリを更新することです。その後、これらのトークンをループしてそれらを使用してユーザーの写真を取得することができます。

1

offline_accessの権限をリクエストした場合は、access_tokenのユーザーを保存して、Facebookにアクセスできるようにする必要があります。実際に、私はもともと想像はるかに簡単だった

0

は、ここで私は写真をつかむと、(DropboxのPHPのSDKを使用して)のDropboxにアップロードする書いているPHPスクリプトです。ユーザーIDの必要はありません。詳細については

$app_id = 'xxxxxx'; 
$app_secret = 'xxxxx'; 
$photoId = 'xxxxx'; 
$access_token = 'xxxxx'; 

try { 
    $facebook = new Facebook(array(
     'appId' => $app_id, 
     'secret' => $app_secret, 
    )); 
} catch (Exception $e) { 

} 

try { 
    $attachment = array('access_token' => $access_token); 
    $photo = $facebook->api($photoId, 'GET', $attachment); 
} catch (Exception $e) { 

} 

$dropbox = new DropboxUploader('xxxxxxx', 'xxxxxxxx'); 
$tmpfname = '/tmp/' . $photoId . '.png'; 

$fp = fopen($tmpfname,'x'); 
fwrite($fp, file_get_contents($photo['source'])); 
fclose($fp); 

$dropbox->upload($tmpfname, 'photos/'); 

unlink($tmpfname); 

exit; 
関連する問題