Facebookページを作成し、アプリケーションで新しいタブを追加しました。
今、私はこれらのステップを実行したいと思います:
- ユーザーがそのページを気に入ったかどうかを確認する//機能している
- ステータスを投稿する権限を求める//機能していない
- 終了。
これは私が使用するコードです:
$permissions = array (
'email',
'user_status',
'publish_stream',
'status_update'
);
public function __construct($app_id, $secret, $perm)
{
$this->facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $secret,
'cookie' => true
));
$this->perm = $perm;
}
public function checkPermissions()
{
$allPerm = true;
$permissions = $this->facebook->api("/me/permissions");
foreach($this->perm as $value)
{
if(!array_key_exists($value, $permissions['data'][0]) ) {
$allPerm = false;
}
}
return $allPerm;
}
public function RequestPermissions()
{
header( "Location: " . $this->facebook->getLoginUrl($this->GenerateScope()) );
}
public function GenerateScope()
{
$scope = null;
$last_key = array_keys($this->perm);
$last_key = end($last_key);
foreach ($this->perm as $key => $value) {
if ($key == $last_key) {
$scope .= $value;
} else {
$scope .= $value . ',';
}
}
return array("scope" => $scope);
}
それで、パーミッションをチェックします。すべてが設定されていない場合は、パーミッションを要求したいと思います。
$this->facebook->getLoginUrl($this->GenerateScope())
。
しかし、リンクを表示したり、リンクにリダイレクトしたりしても、何も(実際には何も)起こりませんか?