13

特定のページを作成したユーザーの Facebook ユーザー ID を取得しました。ここで、Web サイトにボックスのように表示するページ ID を取得する必要があります。

さまざまなユーザーが独自の Facebook ページを持っています。ただし、Facebook ユーザー ID を取得する方法は知っています。

4

9 に答える 9

13

wwwをページURLのグラフに置き換えることができます。たとえば、コカコーラページのID http://graph.facebook.com/cocacola(最初の値)。

于 2011-09-03T21:31:56.153 に答える
5

ファンページへの URL には ID が含まれます。たとえば、スタック オーバーフローのファン ページ

http://www.facebook.com/pages/Stack-Overflow/105665906133609

IDは105665906133609です

一部のページにはエイリアスがあり、ID としても使用できます。例えば、海兵隊のファンページは

http://www.facebook.com/marinecorps

だからIDはmarinecorps

または、ドキュメント ページのジェネレーターを使用することもできます。

于 2010-06-28T18:13:25.180 に答える
2

ページ ID は署名付きリクエストに含まれています。これは、Facebook のページ更新に関する byron の投稿の更新版です。

$facebook = new Facebook();

$signed_request = $facebook->getSignedRequest();
$page_id = $signed_request['page']['id'];

echo 'page id is ' . $page_id . ' AAAAAAAAAAWWWWWWW YYYYYYEEEEEEEEAAAAAAAAAAAA!';
于 2011-02-23T22:04:42.273 に答える
1

これは新しいphp sdkを使用して機能します

$page_id = null;
$facebook = new Facebook();
try {
    $signed_request = $facebook->getSignedRequest();
    $page_id = $signed_request['profile_id'];
} catch (FacebookApiException $e) {
    error_log($e);
}

タブにそのユーザーが作成したコンテンツを表示する必要があるため、実際に探しているのはページ作成者のユーザー ID であるため、これが機能することに腹を立てていることに注意してください。これは以前は可能でしたが、今は不可能だと思います。kasun、どのようにしてページ作成者の ID を取得していますか?

于 2011-01-05T21:02:42.543 に答える
0

FacebookSDKに追加できる関数のリストは次のとおりです。グラフAPIとRESTAPIの両方で機能します。

/*
    Custom functions to get fan page related information
*/
function getSignedData()
{
    if(isset($this->signedData) && !empty($this->signedData))
        return $this->signedData;

    if(!isset($_REQUEST["signed_request"]))
        return false;

    $signed_request = $_REQUEST["signed_request"];

    if(empty($signed_request))
        return false;

    list($encoded_sig, $payload) = explode('.', $signed_request, 2);
    $data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);

    if(empty($data))
        return false;

    $this->signedData = $data;



    return $data;
}

/*
    Return fan page id, Only return fanpage id for 1st (landing) page of application.
*/
function getFanPageId()
{
    if(!$data = $this->getSignedData())
    {
        return false;
    }
    if(isset($data["page"]["id"]))
        return $data["page"]["id"];

    return false;
}

/*
    Only returns userid, if user has authenticated application
*/
function getFanPageUserId()
{
    if(!$data = $this->getSignedData())
    {
        return false;
    }

    if(isset($data["user_id"]))
    {
        return $data["user_id"];
    }

    return false;
}

/*
Check if visiting user is fan page admin
*/
function checkFanPageAdmin()
{
    if(!$data = $this->getSignedData())
        return false;

    if(isset($data["page"]["admin"]) && $data["page"]["admin"] == 1)
        return true;

    return false;
}
于 2011-07-21T15:09:03.657 に答える
0

あなたがユーザーであり、あなたが管理者であるページのページIDが必要であると想定しています。

IDを取得するのはかなり簡単です。

まず、ユーザーIDに関連付けられているすべてのページのリストを取得する必要があります。

$ fanpages = $ facebook-> api('me / account?access_token='。$accessToken);

次に、次のようなループを実行します。

foreach ($fanpages['data'] as $fanpage)
{
echo "<br />Fan Page Name: ".$fanpage['name'] . " ID: ".$fanpage['id'];
}

これにより、IDに関連付けられているすべてのページが一覧表示されます。

$ fanpage配列の要素の完全なリストについては、次を参照してください。

https://developers.facebook.com/docs/reference/api/page/

于 2012-12-19T00:47:20.417 に答える
0
$pages = $facebook->api(array(
'method' => 'fql.query',
'query' => 'SELECT page_id FROM page_admin WHERE uid = '.$uid.''
));

$ uidはFBユーザーのプロファイルID#です!PHPSDKを使用したFqlクエリ

于 2010-12-31T23:24:59.060 に答える
0

Facebookにログインした後、http: //www.facebook.com/insights/に移動します

右上の緑色のボタン(「ドメインのインサイト」)を押して、ページのドロップダウン値を選択します。出来上がり、page_idが表示されます。

(私はこれをFacebookフォーラムで見ました)

于 2011-01-02T21:42:12.393 に答える
0

グラフは現在、すべてではないにしてもほとんどのリクエストに対してアクセストークンを必要とするため、これらの回答はもはや機能していないようです。

FacebookページのURLのみを入力として必要とする実用的なソリューションを次に示します。

これが行うことは、Facebook ページを HTML として受け取り、(正規表現を介して)entity_id数値を持つ JSON を検索することです。この値はページの ID です。ページのコンテンツが変更される可能性があるため、このソリューションが永久に機能することが保証されているわけではありません

/**
 * @param string $facebookUrl
 * @return null|string
 */
function get_facebook_id($facebookUrl)
{
    $facebookId = null;
    $fbResponse = @file_get_contents($facebookUrl);
    if($fbResponse)
    {
        $matches = array();
        if (preg_match('/"entity_id":"([0-9])+"/', $fbResponse, $matches))
        {
            $jsonObj = json_decode("{" . $matches[0] . "}");
            if($jsonObj)
            {
                $facebookId = $jsonObj['entity_id'];
            }
        }
    }
    return $facebookId;
}
于 2016-02-17T19:53:03.430 に答える