2016-05-14 20 views
-1

Ich verwalte meine Facebook-Seite und möchte ein Foto auf meine Seite hochladen. Ich habe ein langlebiges Token bekommen und habe meiner App auch die Erlaubnis gegeben, manage_page. Ich habe das SDK heruntergeladen und es auf der PHP-Seite hinzugefügt. Ich habe folgende Sache jetzt was zu tun?Facebook Foto auf Seite hochladen

<?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 ? 

Ich bin an dieser Stelle sehr verwirrt. :/ Jede Hilfe wäre willkommen. :)

Danke!

+0

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

Antwort

0

Dies ist Javascipt, aber ich denke, es könnte nützlich sein, erlaubt die Erlaubnis user_photos Sie, wenn Sie Ihr Foto in ein bestimmtes Album veröffentlichen möchten.

Versuchen Sie folgendes:

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' 
     }); 
    } 
});}; 

Und 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"); 
       } 
      } 
     ); 
    } 
);}; 

Auch Ihre Facebook-Seite ID zu erhalten, können Sie etwas tun sollten:

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'}); 

Wenn mehr Hilfe benötigen Kommentar

Grüße

Verwandte Themen