2012-02-13 6 views
3

특정 Facebook 앨범에 업로드하는 권한을 사용하는 데 문제가 있습니다.특정 Facebook 앨범에 이미지 업로드

특정 페이스 북 페이지에 관리자로 설정되어 있지만 사진을 업로드하려고 할 때마다 액세스 권한이없는 것 같습니다.

내가 오류입니다 : 내가 그래프 탐색기를 사용하여 탐색하는 경우

Fatal error: Uncaught OAuthException: (#120) Invalid album id thrown

, 내가 필요한 액세스 토큰없이이 앨범을 볼 수 있습니다.

내가 사용하고 URL은 https://graph.facebook.com/albumId/photos

내가 업로드하려고 앨범은 내가 페이스 북 내에서 생성 된 페이스 북 페이지 내 앨범이다. 내가 설정 한

권한은 다음과 같습니다

  • user_photos
  • friends_photos
  • publish_actions
  • manage_pages
  • publish_stream
  • photo_upload

도움을 주시면 감사하겠습니다.

답변

1

먼저 확인

function getPageAccess() {    
      FB.api('/PAGE_ID?fields=access_token', function (resp) { 
       var pageAccessToken = resp.access_token; 
      }); 
     } 
0

좋아, 해결책을 찾았습니다. 당신이 https://graph.facebook.com/me/accounts

에 가면

각 계정은 자신의 access_token이있을 것이다. Facebook 페이지에 이미지를 업로드 할 때 해당 access_token을 매개 변수로 전달해야합니다. 그런 다음 사용자에게 관련된 페이지 액세스 토큰을 얻을

function getLoginStatus() { 
      FB.getLoginStatus(function (response) { 
       if (response.status === 'connected') { 
        // the user is logged in and connected to your 
        // app, and response.authResponse supplies 
        // the user's ID, a valid access token, a signed 
        // request, and the time the access token 
        // and signed request each expire 
        var uid = response.authResponse.userID; 
        var accessToken = response.authResponse.accessToken; 

        getPageAccess(); 

       } else if (response.status === 'not_authorized') { 
        // the user is logged in to Facebook, 
        //but not connected to the app 
        logIn(); 
       } else { 
        // the user isn't even logged in to Facebook. 
        logIn(); 
       } 
      }); 
     } 

: 사용자가 로그인되어있는 경우

1

이것은 일반적인 문제 보인다. 'GET 요청에를

  1. 문제/ME/계정 : 당신이 페이스 북 페이지를 가장하려면 먼저 해당 페이지에 대한 액세스 토큰을 얻을 수 있습니다 (즉, 게시 및 공유, 업로드 페이지 자체 행동이다) '루프
  2. 토큰 결과 집합하고 페이지를 찾아 사용자 액세스를 사용하여 해당 페이지에 대한
  3. 스토어 access token를 (이 계정을 간주로 각 항목의 범주 속성에 에주의를, "응용 프로그램"을 생략).

다음 (PHP SDK 사용) :

$page = '432652662'; // Your page id 
$album = '128949205'; // Your album id 
$source = 'mypic.png'; 
$payload = array('source' => '@' . $source, 
    'access_token' => 'page access token'); 

// Upload photo for specific page and album 
$sdk->api("/$page/$album/photos", 'POST', $payload); 
관련 문제