4

私は自分のウェブサイトの画像を特定のフェイスブックページのアルバムに投稿させようとしています。 彼は自分のコンピュータ上で画像を選択する前に、Facebookにログインして、アプリケーションに必要な権利を与えておく必要があります(カジュアルフロー)画像をあらかじめ定義されたページのアルバムに投稿する

選択した画像をページのアルバムに投稿するにはアクセストークンを使用して、これを行うための適切なアクセス権を持っています。 私たちは、次の手順を実行して手動で権限を取得することができます:

  1. 移動し、URLに以下のページの管理者としてログインし、権限に(user_photos、manage_pages、offline_access、publish_stream)

    を与えます
    https://www.facebook.com/dialog/oauth? 
    client_id=<application_id> 
    &redirect_uri=<canvas_url> 
    &response_type=token 
    &scope=user_photos,manage_pages,offline_access,publish_stream 
    
  2. あなたがアプリケーションに必要な権限を付与するときは、canvas_url#access_tokenは= * * access_tokenはにリダイレクトされます、例えば

    http://example.com/#access_token=awe12 
    
  3. は、これはあなたが管理するページの一覧を表示します

    https://graph.facebook.com/me/accounts?access_token=#access_token 
    (using the access token from 2). 
    

    に移動します。ページ(複数可)あなたは今、画像

をアップロードしたいのためにaccess_tokenはを書き留め、自動的にこれを行う方法はありますか? または、このページのアクセストークンを生成する方法はありますか?期限切れになることはありませんか?

+0

こんにちは。もしあなたがoffline_accessパーミッションを持っていれば、いつでもあなたのためにアクセストークンを要求できることを意味します。有効期限のないアクセストークンはありませんが、(最初のアクセス権が付与された後で)いつでも自分のアクセストークンを要求し、すべてのプロセスを自動的に行うことができます。 – gvillavizar

答えて

1

ページアルバムに投稿するためにページのaccess_tokenを使用する必要はありません。ページのaccess_tokenを使用すると、イメージはページで送信されたように表示されます(ユーザーではなく)。

アルバムが一般公開されている限り、誰でもページのアルバムに写真をアップロードできます。必要なのは、ユーザーにpublish_stream権限を許可し、彼のaccess_tokenで画像をアップロードすることだけです。あなたはPHP SDKでそれをやっている場合は

それは次のようになります。

あなたが $facebookオブジェクトにimageUploadを有効にすると、スクリプト signed_requestや設定を渡す必要があります。もちろん、
$facebook->api("ALBUM_ID/photos","POST",array(
     "message"=>"some message", 
     "source"=>"@PATH_TO_IMAGE" 
)); 

access_tokenを使用して、SDKが現在のユーザーのaccess_tokenを使用するようにします。

関連する問題