我想创建一个用户可以发布消息的页面,然后它会显示在提交表单旁边的墙上。对于我所知道的PHP和SQL,这非常简单。
困难的部分是,我想链接他们的Facebook或Twitter帐户,以在他们的消息旁边显示他们的个人资料照片。
它基本上是一个喊叫墙,旁边有用户的个人资料照片和讲话泡泡。
我有什么想法,或者你看过这个例子吗?
答案 0 :(得分:0)
您需要授权用户:https://developers.facebook.com/docs/facebook-login/web
另一个教程,如果Facebook文档还不够:http://www.devils-heaven.com/facebook-javascript-sdk-login/
之后,使用/me/picture
端点获取个人资料图片。
绝对推荐JavaScript SDK,它比使用PHP SDK更容易处理,可用性更好 - 因为您不需要重定向用户以获得授权。
对于Twitter,您只需提供用户名 - 例如:https://twitter.com/[username]/profile_image?size=original
Twitter无需授权,也有授权的替代方案:https://dev.twitter.com/rest/reference/get/users/show
答案 1 :(得分:0)
正如@luschn指出的那样,您需要对用户进行身份验证。
您需要使用GET
users/show
端点。
您需要使用GET
/me/picture
端点。
要使用Facebook执行此操作,您可以轻松使用他们提供的php sdk
https://developers.facebook.com/docs/php/howto/example_retrieve_user_profile
$fb = new Facebook\Facebook([
'app_id' => '{app-id}',
'app_secret' => '{app-secret}',
'default_graph_version' => 'v2.2',
]);
try {
// Returns a `Facebook\FacebookResponse` object
$response = $fb->get('/me?fields=id,name', '{access-token}');
} catch(Facebook\Exceptions\FacebookResponseException $e) {
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
$user = $response->getGraphUser();