2015-01-04 2 views
1

나는 자바 스크립트 SDK를 통해 컴퓨터에서 페이스 북으로 파일을 업로드하려고합니다. beow는 페이스 북에서 이미지를 업로드하기 위해 작성한 코드입니다. Facebook 자바 스크립트 서버 측 스크립트 언어에 대한 SDK뿐만 아니라 PHP는 이미지를 업로드 mutipart 양식 데이터를 처리하기 위해,하지만 난 자바 스크립트 페이스 북 SDKjavascript SDK를 통해 페이스 북에 사진을 업로드하는 방법

\t <script> 
 
     // Wait until the DOM has loaded before querying the document 
 

 
      var messageToPost; 
 
\t \t $(document).ready(function(){ 
 

 
\t \t \t   \t var isLoaded=false; 
 
\t window.fbAsyncInit = function() { 
 
     FB.init({ 
 
      appId  : '455772327890425', 
 
      xfbml  : true, 
 
      version : 'v2.1' 
 
     }); 
 
\t \t 
 
\t \t isLoaded=true; 
 
     }; 
 
\t 
 
function checkIfLoaded() { 
 
    if(isLoaded) console.log("LOADED!"); 
 
    else console.log("NOT YET!"); 
 

 
    return false; 
 
    } 
 
\t \t 
 
     (function(d, s, id){ 
 
     var js, fjs = d.getElementsByTagName(s)[0]; 
 
     if (d.getElementById(id)) {return;} 
 
     js = d.createElement(s); js.id = id; 
 
     js.src = "//connect.facebook.net/en_US/sdk.js"; 
 
     fjs.parentNode.insertBefore(js, fjs); 
 
     }(document, 'script', 'facebook-jssdk')); 
 
     
 
\t  
 

 

 

 
\t \t \t 
 
      
 
\t \t \t 
 
\t \t \t setTimeout(function(){alert('after set time out');login(); },2000); 
 
\t \t \t 
 
\t \t \t 
 
\t \t \t 
 
      
 
\t \t \t 
 
\t \t \t \t \t \t 
 
\t \t \t 
 
\t \t \t function login() 
 
\t \t \t { 
 
\t \t \t \t console.log("login called"); 
 
       
 
       FB.login(function (response) 
 
       { 
 
        accessToken = response.authResponse.accessToken; 
 
        console.log("inside real login"); 
 
       
 
        if (response.authResponse) { 
 
         //fileUpload(); 
 
\t \t \t \t \t 
 
       \t 
 
\t \t \t \t \t postFB(); 
 
         //Logout();   
 
         //alert("Back to Login"); 
 
       \t } 
 
        
 
        else { alert("Login attempt failed!");} 
 
       } , { scope: 'email,user_photos,photo_upload,publish_actions,publish_stream' }); 
 
       
 
\t \t \t }; 
 
\t \t \t 
 
\t \t \t function postFB() 
 
\t \t \t { 
 
        
 
        //alert("message "+ messageToPost); 
 
\t \t \t \t var images={} 
 
\t \t \t \t 
 
\t \t \t \t var wallPost = { 
 
             message:  '<?php echo $messageToPost ?>', 
 
             name  : 'SBIINTOUCH', 
 
             description : 'SBIINTOUCH experience', 
 
\t \t \t \t \t \t \t \t \t \t height  : 70, 
 
\t \t \t \t \t \t \t \t \t \t width  : 60, 
 
\t \t \t \t \t \t \t \t   source  : '<?php echo (basename($_FILES["fileToUpload"]["name"])); ?>' 
 
\t \t \t \t \t \t \t \t \t \t 
 
\t \t \t \t \t \t \t   
 
            }; 
 
\t \t \t \t  
 
\t \t \t \t  
 
\t \t \t \t alert(wallPost['message'] +"\n"+wallPost['source']); 
 
\t \t \t \t  
 
       //posting in time line 
 
        FB.api('/me/photos', 'post', wallPost, function(response) { 
 
        if (!response || response.error) { 
 
         alert(JSON.stringify(response.error)+'Error occured while posting in personal feed'); 
 
        } else { 
 
         alert('Post ID: personal feed ' + response.id); 
 
        } 
 
        }); 
 
        
 
       //posting in page 
 
        FB.api('/512538375541360/photos', 'post', 
 
          wallPost, 
 
         function(response) { 
 

 
          if (!response || response.error) { 
 
           alert(JSON.stringify(response.error)+ "while posting in page feed"); 
 
          } else { 
 
           alert('Post ID : SBI Intouch ' + response.id); 
 
          } 
 
         }); 
 
\t \t \t \t FB.logout(); 
 
\t \t \t  }; 
 
\t \t \t 
 
       
 
\t \t \t 
 
\t \t \t 
 
      
 
\t \t \t }); 
 
\t \t \t 
 
\t \t \t 
 
\t \t \t 
 
\t \t \t 
 
\t \t \t 
 
\t \t \t 
 
\t \t \t 
 
\t </script>
<!DOCTYPE html> 
 
<html> 
 
\t <head> 
 
\t <script src="js/jquery-v1.js"></script> 
 
\t \t <script src="js/jquery-v1-8.js"></script> 
 
     
 

 
\t </head> 
 
\t <body> 
 
     <div id="fb-root"></div> 
 
     <script> 
 
     
 
    
 
\t  
 
\t </script> 
 

 
\t <?php 
 
\t echo $_POST['txta']; 
 
\t echo $_POST['loc1']; 
 
\t echo $_POST['Feedback']; 
 
\t  
 
\t 
 
\t $target_dir = "uploads/"; 
 
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); 
 
$uploadOk = 1; 
 
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION); 
 
// Check if image file is a actual image or fake image 
 
if(isset($_POST["submit"])) { 
 
    $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]); 
 
    if($check !== false) { 
 
     echo "File is an image - " . $check["mime"] . "."; 
 
     $uploadOk = 1; 
 
    } else { 
 
     echo "File is not an image."; 
 
     $uploadOk = 0; 
 
    } 
 
} 
 
// Check if file already exists 
 
if (file_exists($target_file)) { 
 
    echo "Sorry, file already exists."; 
 
    $uploadOk = 0; 
 
} 
 
// Check file size 
 
if ($_FILES["fileToUpload"]["size"] > 500000) { 
 
    echo "Sorry, your file is too large."; 
 
    $uploadOk = 0; 
 
} 
 
// Allow certain file formats 
 
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" 
 
&& $imageFileType != "gif") { 
 
    echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed."; 
 
    $uploadOk = 0; 
 
} 
 
// Check if $uploadOk is set to 0 by an error 
 
if ($uploadOk == 0) { 
 
    echo "Sorry, your file was not uploaded."; 
 
// if everything is ok, try to upload file 
 
} else { 
 
    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { 
 
     echo "The file ". basename($_FILES["fileToUpload"]["name"]). " has been uploaded."; 
 
    } else { 
 
     echo "Sorry, there was an error uploading your file."; 
 
    } 
 
} 
 
\t 
 
\t 
 
\t 
 
\t 
 
\t 
 
\t 
 
\t 
 
\t 
 
\t 
 
\t 
 
\t 
 
\t 
 
\t 
 
\t 
 
\t 
 
\t 
 
\t //msg formation 
 
\t \t \t \t $messageToPost = $_POST['txta']; 
 
\t \t \t \t 
 
        $city   = $_POST['loc1']; 
 
\t \t \t \t echo \t 'city is '.$city; 
 
\t \t \t \t 
 
        $sentiment= $_POST['Feedback']; 
 
        
 
       if($sentiment==='Good') 
 
       \t $messageToPost=$messageToPost." :) "." #SBIInTouch".$city; 
 
       if($sentiment==='Neutral') 
 
       \t $messageToPost=$messageToPost." :| "." #SBIInTouch".$city; 
 
       if( $sentiment==='Bad') 
 
       \t $messageToPost=$messageToPost." :("." #SBIInTouch".$city; 
 
\t 
 
     echo \t 'message is '.$messageToPost; 
 
\t ?> 
 

 
\t \t 
 
\t \t 
 
    
 
    
 
    
 
    
 
    
 
    
 
    
 
\t \t 
 
\t </body> 
 
</html>

+0

중복 가능 [faacebook PHP SDK를 사용하여 컴퓨터에서 사진을 업로드하는 방법] (http://stackoverflow.com/questions/27763148/how-to-upload-picture-from-computer-using-faacebook-php-sdk) – WizKid

답변

1

음에 대한 인수로 이미지를 전달하는 방법에 대한 totaly 모르고 있어요 , 나는 잘 모르겠지만, 나는 문서를 가지고있다 : 3 https://developers.facebook.com/docs/graph-api/reference/v2.4/album/photos#publish

이미지 바이트를 직접 보내거나 URL을 사용하여 페이스 북 서버에로드 할 수 있습니다. 이미지 바이트

FB.api(
 
    "/{album-id}/photos", 
 
    "POST", 
 
    { 
 
     "source": "{image-data}" 
 
    }, 
 
    function (response) { 
 
     if (response && !response.error) { 
 
     /* handle the result */ 
 
     } 
 
    } 
 
);

또는 URL을 사용하는 대신에 업로드 :

FB.api(
 
    "/{album-id}/photos", 
 
    "POST", 
 
    { 
 
     "url": "{image-url}" 
 
    }, 
 
    function (response) { 
 
     if (response && !response.error) { 
 
     /* handle the result */ 
 
     } 
 
    } 
 
);
을 이미지 바이트를 업로드 JS-SDK를 사용하여 :

관련 문제