我有两个问题。
1 - 我的应用程序请求如何在一个屏幕上发布这样的流?
2 - 是否可以制作两个或更多页面的应用程序,我已经可以让人们喜欢使用signed_request,但假设我会得到人们的许可,有没有办法让人们喜欢不同的页面?
示例:在人们“喜欢”我的应用所在页面后,我将获得许可,然后我的应用使用此权限来喜欢不同的页面或网址,无论如何?
我有两个问题。
1 - 我的应用程序请求如何在一个屏幕上发布这样的流?
2 - 是否可以制作两个或更多页面的应用程序,我已经可以让人们喜欢使用signed_request,但假设我会得到人们的许可,有没有办法让人们喜欢不同的页面?
示例:在人们“喜欢”我的应用所在页面后,我将获得许可,然后我的应用使用此权限来喜欢不同的页面或网址,无论如何?
发布流是一个扩展权限,因此它出现在另一个身份验证对话框窗口中,您显示的屏幕截图可能是旧的。https://developers.facebook.com/docs/reference/login/extended-permissions/
回答第一部分:
$user = $facebook->getUser();
if (!$user) {
$url = $facebook->getLoginUrl(array(
'scope'=>'publish_stream,status_update',
'redirect_uri'=>'http://yourlink/'));
echo "<p>Redirecting to permission request...</p>";
echo "<script type=\"text/javascript\">top.location.href = '$url';</script>";
} else {
... your app.
}
您将权限放在范围元素中。您获得的批准框将取决于您放在那里的任何元素。只要求您实际需要的权限。
- - 编辑 - -
针对您的评论,如果您使用 SDK 上传图片,您还需要以下内容:
$facebook->setFileUploadSupport(true);
一旦你通过了身份验证,你就会这样做。
您还需要更多权限:
'scope'=> 'read_stream, publish_stream, photo_upload, user_photos, user_photo_video_tags'
您可能不需要所有这些,具体取决于您要执行的操作,因此一旦您开始工作,请尝试删除视频部分。
去年我花了一段时间,你可能会发现这些帖子很有用: