脸书 ID 变更

San*_*bat 1 php facebook facebook-graph-api facebook-php-sdk

我正在开发一个使用 Facebook 登录的网络。当用户登录时,我存储 facebook id。

问题是我更改了 AppID 和 AppSecret (因为我在 facebook 中创建了一个新应用程序)并且 facebook 返回的用户 ID 与我的旧应用程序不同

我使用 PHP v4.0 Facebook SDK,这是我的代码:

$facebook = new Facebook(array(
          'appId'  => '***********',
          'secret' => '**********************',
          'cookie' => true,    
          'oauth'  => true,
        ));

    $user = $facebook->getUser();
    $me = null; 

    if ($user) {
        try {
            $me = $facebook->api('/me');
            $this->facebook_id = $me['id'];
Run Code Online (Sandbox Code Playgroud)

然后我将它存储在数据库中..

谢谢!

zer*_*kms 5

那是故意的。

Facebook 这样做是出于隐私原因。

无法从不同的应用程序获取相同的用户 ID。

此人的用户帐户的 ID。该ID对于每个应用程序都是唯一的,并且不能在不同应用程序之间使用。

https://developers.facebook.com/docs/graph-api/reference/v2.0/user

  • 只是补充一下。如果您有多个应用程序,您可以使用业务映射 API 来检查当前用户的不同应用程序的用户 ID 是什么。https://developers.facebook.com/docs/apps/for-business (3认同)