2012-08-02 4 views
0

버튼 클릭으로 PHP를 사용하여 Facebook에 그림을 업로드하려고합니다. 그것은 작동하지 않는다. 버튼을 클릭하여 페이스 북에 이미지 업로드

HTML 버튼 코드

<a class="btn" href="test.php?upload=true">Click here to upload this image on your Facebook wall</a> 

PHP 코드

<?php 
     $act=isset($_GET['upload'])?$_GET['upload']:""; 

     if($upload=='true'){ 

     set_time_limit(50); 
     require 'facebook.php'; 

     // Create our Application instance (replace this with your appId and secret). 
     $facebook = new Facebook(array(
        'appId' => 'FB_APP_ID', 
        'secret' => 'FB_SECRET_KEY', 
       )); 

     // Get User ID 
     $user = $facebook->getUser(); 
     if ($user) { 

     } else { 
      $loginUrl = $facebook->getLoginUrl(); 
      header('Location:' . $loginUrl . '&scope=user_photos,publish_stream'); 
     } 
     ?> 

     <?php 
     // Login or logout url will be needed depending on current user state. 
       if ($user) { 
        if (isset($_GET['upload'])) { 
       ?> 

       <?php 
         $facebook->setFileUploadSupport(true); 
         $args = array('message' => 'test'); 
         copy('http://mysite.com/test.png', 'tmp/file.jpeg'); 
         $args['image'] = '@' . realpath('tmp/file.jpeg'); 
         $data = $facebook->api('/me/photos', 'post', $args); 
         unlink('tmp/file.jpeg'); 
         //assigning users to tag and cordinates 
         $argstag = array('to' => $user); 
         $argstag['x'] = 40; 
         $argstag['y'] = 40; 
         $datatag = $facebook->api('/' . $data['id'] . '/tags', 'post', $argstag); 
         echo 'Success! Check your facebook wall now'; 
        } else { 
       ?> 
         <a href="test.php?upload=true">Click here to upload this image on your facebook wall</a><br/><br/> 

     <?php 
        } 
       } 


     } 
?> 

참고 : facebook.php는에 & catch 블록을 시도

답변

0

가에 넣어 페이스 북 PHP SDK와 함께 제공되는 하나입니다 어떤 일이 발생하는지 확인하십시오 :

// ... 
try { 
    $facebook->setFileUploadSupport(true); 
    $response = $facebook->api(
     '/me/photos/', 
     'post', 
     array(
     'message' => 'This is my image caption', 
     'source' => '@/absolute/path/to/image' // @-sign must be the first character 
    ) 
    ); 
    } 
    catch (FacebookApiException $e) { 
    echo "Error: ".$e->getMessage(); 
    } 
    // ... 

"tmp /"("/ tmp /"를 의미합니까?)에서 호출 복사 후 올바른 이미지가 있는지 확인하고 photo_upload 권한이 있는지 확인하십시오.

https://developers.facebook.com/docs/reference/php/facebook-setFileUploadSupport/

관련 문제