【问题标题】:Posting an image to fan page album using Facebook API使用 Facebook API 将图像发布到粉丝专页相册
【发布时间】:2012-04-12 08:24:56
【问题描述】:

我创建了一个 Facebook 应用程序。我需要用户能够通过该应用程序将图像发布到我的 Facebook 页面的相册,为此我需要获取页面的访问令牌。当我以页面管理员身份登录时,我只能获得访问令牌,但如果我使用其他帐户登录,我不会获得页面的访问令牌(即使我喜欢该页面并安装了应用程序)。代码如下

$fanpage = 'XXXXXXXXXXXXX';

$pages_arr = array(
'access_token'=>$access_token,
'fields'=>'access_token' 
);

$page_token = $facebook->api('/'.$fanpage, 'get', $pages_arr);
$fanpage_token = $page_token['access_token'];

**//When logged in as admin of the page I get the token but I don't get the token if I am not //page admin**

echo $fanpage_token;

$file = "@".realpath("test.jpg");  
$args = array(
    'message' => 'test',
    'image' => $file,
    'aid' => $album_id,
    'no_story' => 1, 
    'access_token' => $fanpage_token  // note, we use the page token here
);

$photo = $facebook->api("/$album_id/photos", 'post', $args);
if( is_array( $photo ) && ! empty( $photo['id'] ) )
    echo 'Photo uploaded. Check it on Graph API Explorer. ID: ' . $photo['id'];

我要求获得以下应用安装权限

manage_notifications,user_photos,photo_upload,publish_stream,friends_photos,manage_pages

【问题讨论】:

    标签: facebook facebook-access-token


    【解决方案1】:

    我认为这是预期的行为。 manage_pages 权限允许访问用户管理的页面。如果您需要其他(非管理员)用户上传到您的页面,您需要在您的应用中为该页面存储一个有效的访问令牌。然后,使用保存的访问令牌上传用户提供的图片。

    【讨论】:

    • 但问题是访问令牌会在一段时间后过期。有没有办法防止访问令牌过期或者我们可以获得永不过期的访问令牌?据我所知,离线访问现在也已被弃用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多