【发布时间】:2014-10-05 04:33:45
【问题描述】:
想象一下当我以 userA 身份登录 facebook Web 应用程序时的情况。我知道 userB 的昵称,但他不在我的好友列表中,我不知道他的 ID。而且,当然,他不使用我的应用程序。
- 如何通过昵称获取 userB 的 id?
- 之后我如何才能获得他的墙贴?
是否有任何特定权限?可能有我错过的手册页吗?
【问题讨论】:
标签: php facebook-graph-api facebook-php-sdk
想象一下当我以 userA 身份登录 facebook Web 应用程序时的情况。我知道 userB 的昵称,但他不在我的好友列表中,我不知道他的 ID。而且,当然,他不使用我的应用程序。
是否有任何特定权限?可能有我错过的手册页吗?
【问题讨论】:
标签: php facebook-graph-api facebook-php-sdk
在 v1.0 中,可以进行以下操作:
http://graph.facebook.com/v1.0/{user-name}
但是,对于 v2.0 和 v2.1,无法通过未连接到您的应用程序的 ID 或用户名访问用户。例如,尝试http://graph.facebook.com/v2.1/{user-name} 会抛出错误:
{
"error": {
"message": "(#803) Cannot query users by their username (user-name)",
"type": "OAuthException",
"code": 803
}
}
使用新的 PHP SDK (v4.0.x),您可以执行以下操作:
$response = (new FacebookRequest( $session, 'GET', '{user-name}', array(), 'v1.0' ))->execute()->getGraphObject()->asArray();
【讨论】:
$response = (new FacebookRequest( $session, 'POST', '/me/feed', $data, 'v1.0' ))->execute()->getGraphObject()->asArray();