0

我一直在努力尋找一種方法來做到這一點。可能這是不可能的,但我沒有發現任何資源說這不行。所以我想在這裏發帖。將照片上傳到Facebook頁面非管理員

我正在開發Facebook應用程序,它具有照片上傳功能。我想要做的是,當用戶上傳圖片時,圖片將自動添加到我的粉絲頁面。

所以我經歷過這樣的事情。但它只能用於管理員。 (我硬編碼的管理員用戶ID)

$fanpageId = 562**23; //My Facebook fanpage ID 
$adminFbId = 100***12; // facebook user ID of admin (Fanpage) 
    try{    
     $pagesInfo = $facebook->api("/100***00/accounts");    
    } 
catch (FacebookApiException $e){    
    echo $e;  
} 

    foreach($pagesInfo["data"] as $page) { 
    if($page["id"] == $fanpageId) { 
     $page_access_token = $page["access_token"]; 
     break; 
    } 
} 

if(!empty($page_access_token)) { 
    $args = array(
     'access_token' => $page_access_token, 
     'message'  => "I'm a Page from test!" 
    ); 
    $post_id = $facebook->api("/$fanpageId/feed","post",$args); 
    // sucess... 
} 

是否有任何可能的方式給了應用程序或力API頁面的管理權限使用管理員訪問令牌發佈?

回答

1

爲什麼你使用page access token,如果你想讓你的用戶在粉絲頁上發佈?

簡單地說,與publish_stream權限的用戶的access token更換access_token$args

該帖子將發佈在的粉絲頁面上,代表用戶通過您的應用

+0

好吧,如果這幫助下,你可以標記這個答案是正確的。您也可以參考[THIS](http://facebook.stackoverflow.com/questions/9176633/upload-images-on-facebook-using-php)上傳照片。 –

1

非常感謝,我認爲我正在取得一些進展。我做了你說的話,現在消息在粉絲頁面上發佈。然後我嘗試上傳一張圖片。這是我做的

$args = array(
     'access_token' => $access_token, 
    'image' => '@/my/upload/file/path/'.$fileName 
    ); 

try{   
    $post_id = $facebook->api("/".$fanpageId."/photos","post",$args);    
} 
catch (FacebookApiException $e){ 
    echo $e;    
} 

但它拋出一個例外:OAuthException: An unknown error has occurred

我設置的用戶在未經許可爲:publish_stream,photo_upload,user_photos

+0

請在未來寫作答案時更新您的問題。嘗試在相冊中上傳,你有沒有嘗試過我在上面的答案給你的鏈接? –

+0

感謝您指導我Sahil ...如何找到相冊ID!網址有這樣的a.588 *** 1132377.148356.5648 *** 36874556&type = 3 – hderanga

+0

相冊ID可以通過找到:'/ fanpage/albums' –

相關問題