2016-05-14 111 views
-1

我管理我的Facebook页面,我想上传照片到我的页面。我获得了长时间的令牌,并且还给了我的应用权限manage_page。我已经下载了SDK并将其添加到了PHP页面中。我现在有下面的事情该怎么做?Facebook上传照片到页面

<?php 
session_start(); 

require_once 'facebook-php-sdk-v4-5.0.0/src/Facebook/autoload.php'; 

$fb = new Facebook\Facebook([ 
    'app_id' => 'my-app-id', 
    'app_secret' => 'my-app-secret', 
    'default_graph_version' => 'v2.5', 
]); 

$accessToken = "Here long lived token generated from graph API"; 

$response = $fb->post(); //which method should I use ? 

我很困惑在这一点上。 :/ 任何帮助,将不胜感激。 :)

谢谢!

+0

https://developers.facebook.com/docs/graph-api/reference/page/photos/#Creating,https://developers.facebook.com/docs/php/howto/example_upload_photo – CBroe

回答

0

这是Javascipt,但我认为它可能会有用,如果您想将照片发布到特定相册,则user_photos允许您执行此操作。

试试这个:

function loginFacebook() { 
FB.getLoginStatus(function(response) { 
    if (response.status === 'connected') { 
     // the user is logged in and has authenticated the app, 
     var uid = response.authResponse.userID; 
     var accessToken = response.authResponse.accessToken; 
     PostToFB(uid, accessToken); 
    } else if (response.status === 'not_authorized') { 
     // the user is logged in to Facebook, 
     // but has not authenticated the app 
     FB.login(function(response) { 
      current_login_status = response.status; 
      if (response.authResponse) { 
       var uid = response.authResponse.userID; 
       var accessToken = response.authResponse.accessToken; 
       PostToFB(uid, accessToken); 
      } else { 
       alert('User did not fully authorize.'); 
      } 
     }, { 
      scope: 'public_profile,publish_actions,publish_pages,manage_pages,user_photos' 
     }); 
    } else { 
     // the user isn't logged in to Facebook.; 
     FB.login(function(response) { 
      current_login_status = response.status; 
      if (response.authResponse) { 
       var uid = response.authResponse.userID; 
       var accessToken = response.authResponse.accessToken; 
       PostToFB(uid, accessToken); 
      } else { 
       alert('User cancelled login or did not fully authorize.'); 
      } 
     }, { 
      scope: 'public_profile,publish_actions,publish_pages,manage_pages,user_photos' 
     }); 
    } 
});}; 

而且PostToFB:

function PostToFB(uid, accessToken) { 
// Do something with the response 
var page_id = "YOUR ID PAGE"; 
FB.api(
    '/' + uid + '/accounts', 
    function(returnData) { 
     var page_accessToken = ""; 
     //Search on facebook pages from logged user 
     for (var x = 0; x < returnData.data.length; x++) { 
      if (page_id == returnData.data[x].id) { 
       page_accessToken = returnData.data[x].access_token; 
      } 
     } 
     var linkImage = "YOUR LINK"; 
     var datasend = { 
      access_token: page_accessToken, 
      message: "MY MESSAGE", 
      url: linkImage 
     }; 
     FB.api(
      '/' + page_id + '/photos', 
      'POST', 
      datasend, 
      function(response) { 
       if (response && !response.error) { 
        var postId = response.id; 
        alert("Thank you"); 
       } else { 
        alert("Error"); 
       } 
      } 
     ); 
    } 
);}; 

而且让你的Facebook页面ID,你应该做这样的事情:

FB.login(function(response) { 
FB.api('/me/accounts', function(apiresponse) { 
    var data = apiresponse['data']; 
    var ids = new Array(); 
    for (var i = 0; i < data.length; i++) { 
     console.log(data[i].id); 
    } 
});}, {scope: 'manage_pages'}); 

如果需要更多的帮助评论

Regards