1

我有一个 android 应用程序,用户在其中使用 facebook 进行身份验证。现在,我向我的服务器发出一个 post 请求,并将 facebook 的 access_token 发送到该服务器。在服务器上,我现在想通过将 access_token 传递给 facebook graph api 来访问用户信息。有什么解决办法吗?问题是用户只使用应用程序,而网络服务器必须仅使用 access_token 进行身份验证。谢谢!

4

1 回答 1

6

是的——它实际上非常“简单”(就 Facebook 而言)。

带您完成以下步骤:

  1. 设置:在 Facebook 开发者应用程序中,确保您已为同一应用程序设置了移动设备 (Android) 和网站设置。他们需要共享 App ID 和密码
  2. 设置:下载Facebook 的 PHP SDK。这使得对抗原始的“Graph”调用变得更加简单。
  3. 流程:当用户登录您的手机时,您将获得“访问令牌”。这是您要传递给 PHP 服务器的项目。
  4. 过程:在 PHP 中,当您初始化 Facebook 类时,告诉它不要使用 cookie。
  5. 流程:在 PHP 中,初始化类后,使用SetAccessTokenSDK 中的函数来使用您在移动应用中获得的访问令牌。
  6. 流程:然后,当您/me拨打电话时,您将是在移动设备上获得令牌的同一用户。

代码示例:

$facebook = new Facebook(array(
  'appId'  => 'YOUR_APP_ID',
  'secret' => 'YOUR_APP_SECRET',
  cookie : false
));

// Use the token you sent
$facebook->setAccessToken($sentToken);

// Get User ID
$user = $facebook->getUser();
于 2012-10-18T09:48:28.193 回答