Php access_token-在fan page相册中上载照片的脚本

Php access_token-在fan page相册中上载照片的脚本,php,facebook,facebook-page,facebook-access-token,Php,Facebook,Facebook Page,Facebook Access Token,我正在开发一个包含在我的页面选项卡中的应用程序。在此应用程序中,用户将使用您的网络摄像头拍照,并将照片发送到“我的粉丝”页面中的特定相册 我在这里发现了一个脚本:他工作得很好,但我有一个问题,脚本使用用户访问令牌上传图片,不需要请求所有用户的许可才能上传图片,因为脚本使用我的管理员用户发送到页面 最大的问题是:用户访问令牌在2小时后过期,或者当我的管理员用户未登录时,脱机访问权限被中断,我不知道我的脚本将如何工作 我需要所有用户都可以上传照片使用该系统,有人知道我可以如何工作 以下是PHP中的脚

我正在开发一个包含在我的页面选项卡中的应用程序。在此应用程序中,用户将使用您的网络摄像头拍照,并将照片发送到“我的粉丝”页面中的特定相册

我在这里发现了一个脚本:他工作得很好,但我有一个问题,脚本使用用户访问令牌上传图片,不需要请求所有用户的许可才能上传图片,因为脚本使用我的管理员用户发送到页面

最大的问题是:用户访问令牌在2小时后过期,或者当我的管理员用户未登录时,脱机访问权限被中断,我不知道我的脚本将如何工作

我需要所有用户都可以上传照片使用该系统,有人知道我可以如何工作

以下是PHP中的脚本:

`
require_once 'library/facebook.php';

$facebook = new Facebook(array(
    'appId'  => '<appid>',
    'secret' => '<appsecret>',
    'fileUpload' => true
));
$access_token = 'access_token';
$params = array('access_token' => $access_token);
$fanpage = 'page_id';
$album_id ='album_id';
$accounts = $facebook->api('/ADMIN_ACCOUNT/accounts', 'GET', $params);

foreach($accounts['data'] as $account) {
    if( $account['id'] == $fanpage || $account['name'] == $fanpage ){
        $fanpage_token = $account['access_token'];
    }
}

$valid_files = array('image/jpeg', 'image/png', 'image/gif');
$img = realpath("image_path");

$args = array(
    'message' => 'message to write in legend',
    'image' => '@' . $img,
    'aid' => $album_id,
    'no_story' => 1,
    'access_token' => $fanpage_token
);

$photo = $facebook->api($album_id . '/photos', 'post', $args);

if( is_array( $photo ) && !empty( $photo['id'] ) ){
    echo '<p><a target="_blank" href="http://www.facebook.com/photo.php?fbid='.$photo['id'].'">Click here to watch this photo on Facebook.</a></p>';
}`
`
需要_once“library/facebook.php”;
$facebook=新的facebook(数组)(
“appId”=>“

”; }`
您需要通过点击端点来请求长期访问令牌:

https://graph.facebook.com/oauth/access_token?             
    client_id=APP_ID&
    client_secret=APP_SECRET&
    grant_type=fb_exchange_token&
    fb_exchange_token=EXISTING_ACCESS_TOKEN 
请看一下以下文档中的场景4:

您需要通过点击端点来请求长期访问令牌:

https://graph.facebook.com/oauth/access_token?             
    client_id=APP_ID&
    client_secret=APP_SECRET&
    grant_type=fb_exchange_token&
    fb_exchange_token=EXISTING_ACCESS_TOKEN 
请看一下以下文档中的场景4:

如果您使用该脚本发布到粉丝页面的相册,那么您应该获得页面访问令牌–它们不会过期


详细信息请参见此处:

如果您正在使用该脚本发布到粉丝页面的相册,那么您应该获得页面访问令牌–它们不会过期


详细信息请参见此处:

Tks,访问令牌现在的有效期为两个月。通过这种方式,您可以制作一个脚本来自动续订访问令牌?使用curl在到期之前获取新的访问令牌。这能起作用吗?不,用户需要每隔一段时间回来,您才能获得延长的访问令牌token@Igy思考得更好,真的吗只有当我的用户登录fb时才会生成令牌,因此,不可能创建一个脚本来自动续订令牌。访问令牌现在有效期为两个月。通过这种方式,可以创建一个脚本来自动续订访问令牌?使用curl在到期之前获取新的访问令牌。这可以工作吗?不,the用户需要每隔一段时间回来,以便您获得扩展的token@Igy考虑得更好,令牌只有在我的用户登录fb时才会生成,因此,不可能创建一个脚本来自动更新令牌callytks@CBroe,但是,该脚本作为用户脚本在页面中上载,该脚本将在短时间内用于r一个特殊的推广和使用一个长过期的令牌可以正常工作。Tks@CBroe但是,该脚本作为用户脚本在页面中上传,该脚本将在短时间内用于一个特殊的推广和使用一个长过期的令牌可以正常工作。