函数中的 Facebook 身份验证 - getUser() 返回 0

2023-12-15

我正在尝试在我的控制器中创建一个将相册发布到 Facebook 的功能。每次访问该函数时,即使我刚刚正确登录 Facebook,我也会被重定向到 REDIRECT_URI,就好像 $userid=0 一样。这是因为登录后,它会重新启动该功能并创建一个新的 Facebook 会话,从而清除我刚刚获得的用户吗?

感谢您的任何帮助,您可以提供。

 function share($id){
            if (!$id) { $this->Session->setFlash(__('Invalid id for Album', true)); 
            $this->redirect(array('action'=>'index')); }  
            $photos = $this->Album->find('all', array('conditions' => array('Album.id' => $id))); 


            $facebook = new Facebook(array('appId'=>'valid aphid', 'secret'=>'valid secret')); 
            $facebook->setFileUploadSupport(true);
            $userid = $facebook->getUser(); 

            if($userid) {               
                try {
                      $user_profile = $facebook->api('/me'); // Gets User's information based on permissions the user has granted to your application.

                } 
                catch(FacebookApiException $e){
                    error_log($e);
                    // Print results if you want to debug.
                    $userid = null;
                }

            } else {

                $login_url = $facebook->getLoginUrl($params = array('redirect_uri' => REDIRECT_URI,'scope' => PERMISSIONS_REQUIRED));
                echo ("<script> top.location.href='".$login_url."'</script>");
            }

            //Create album
            $results = $facebook->api('me/albums', 'post', $photos[0]['Album']['name']);//->photos_createAlbum($albumname, '', '', 'everyone', $this->_userid); 

        }

默认情况下,Facebook 类使用PHP 会话存储用户的身份验证状态。可以使用四个会话变量:

  • fb_{appid}_user_id:Facebook 用户 ID
  • fb_{appid}_code:需要兑换访问令牌的授权码
  • fb_{appid}_access_token:可用于进行 API 调用的访问令牌
  • fb_{appid}_state:CSRF代币

检查您的 PHP 会话是否已配置且工作正常。

  • 默认情况下,cookie 名称为 PHPSESSID;您应该会在浏览器中看到该设置。
  • 如果您要在多个服务器之间进行负载平衡,您将需要一个允许您在这些服务器之间共享会话状态的解决方案。
  • 在启动会话之前您无法输出任何文本(如果需要,在实例化会话时会自动完成)Facebook目的)。您可能想尝试将其作为函数的第一行:

    if (!session_id()) { session_start(); }
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

函数中的 Facebook 身份验证 - getUser() 返回 0 的相关文章

  • 如何在 Spring-Security 中重命名表 persist_logins

    Spring Security 中管理 记住我 身份验证的默认表名称是 persistent logins 由于数据库命名约定 我需要重命名该表 持久登录 to T PERSISTENT LOGINS 请提供任何帮助 您需要编写自己的实现J
  • 为什么我收到 com.facebook.sdk.login 错误 308?

    我正在使用 Xcode 7 0 在 iOS 9 0 2 上进行测试并使用 Facebook SDK 4 7 0 当我登录用户时 大多数时候一切都正常 但有时我不断收到此错误 但我不知道为什么 操作无法完成 com facebook sdk
  • android facebook api 帖子

    我有个问题 我想使用 facebook api 并在我的墙上发布帖子而不调用对话框 基本上我有一个应用程序 我希望人们能够共享该应用程序 所以我想发布一条特定的消息 我不断收到 方法未实施 的回复 这是帖子的代码 I tried this
  • Django-allauth 注册、登录和社交连接集成到一页中

    如何使用 django allauth 将社交登录 登录表单和注册表单加载到索引页面 类似于您访问 facebook com 时的情况 帐户 网址已经可以使用 我尝试复制
  • 如何将 Facebook 页面帖子作为博客帖子拉入 WordPress?

    After 很多挣扎 https stackoverflow com questions 9709016 how to obtain a facebook page rss with the new timeline随着 Facebook
  • 设计路由错误

    设置设备时我似乎无法克服此错误 Routing Error wrong constant name Devise registrationsController or Routing Error wrong constant name De
  • iOS Facebook SDK:必须使用活动访问令牌来查询有关当前用户的信息

    我已经遵循了许多示例并查看了有关此访问令牌错误的许多问题 但我似乎无法找出为什么我会收到它或如何修复它 我像在 3 1 sdk 示例中那样初始化 Facebook NSArray permissions NSArray alloc init
  • 在 facebook 的 share.php 上传递标题、url 和图像

    我想在 facebook 上分享标题 图像和描述 无需 javascript 只需将这些传递到 facebook 的 share php 即可 我在这个网站上得到了一些有问题的代码用于社交书签的 AddThis AddToAny Share
  • 使用 Spring MVC 进行基于角色的访问控制

    我想知道 Spring 基于角色的访问控制的最佳实践 我的要求是 我将向用户分配一组角色 例如 用户1 管理员 用户2 专家 user1 的访问权限如下所示 admin 会员管理 admin 项目管理 对于用户2 我的项目1 所以如果 us
  • 请求通过营销 API 在 Facebook 中推广 iOS 应用程序

    我的 Facebook 申请已获批准ads read manage pages ads management business management and Ads Management Standard Access permission
  • 在 IOS 上检查 Facebook Connect 会话

    在新的 Facebook 库中 FBSession 对象消失了 当用户启动应用程序时 如何在不提示 safari 或 uiwebview 的情况下立即检查用户的设备上是否有有效会话 facebook isSessionValid 方法适用于
  • 找出用户属于哪些组

    我有一个刚刚创建的 Windows 用户帐户 以 XYZ 为例 此 XYZ 属于我在计算机管理 gt 本地用户和组中创建的用户组和自定义组 因此 在属性中我看到该用户属于 2 个组 现在我想获取这些组并显示它们 有什么建议么 我已经这样做了
  • 如何在字符串上创建超链接并在 Facebook 中分享 [iOS]

    我有一个NSString我用哪一个来分享Facebook Twitter 我的要求是分享后文本将是一个链接Facebook On Facebook当用户单击该文本时 然后直接转到该链接 我的代码如下 NSInteger Score NSUs
  • 如何使用 Delphi XE 发送 WCF 的 ClientCredentials

    我开发了一个带有自定义的 WCF 服务UserNamePasswordValidator with a basicHttpBinding使用 HTTPS 它与 Net 客户端配合得很好 使用 ClientCredentials 发送用户名和
  • ASIHTTPRequest 登录页面

    我尝试制作一个 iPhone 应用程序 可以登录到使用 https 保护用户信息的 Web 应用程序 现在我陷入了登录页面 我不知道通过我的应用程序登录时如何检查用户网站中的真实帐户 即使我输入错误的帐户 我也只收到 200 的回复 这是我
  • 获取当前用户的 NetworkCredential (C#)

    我正在尝试从控制台应用程序调用 Web 服务 并且我需要向客户端提供System Net NetworkCredential object 是否有可能创建一个NetworkCredential启动应用程序的用户的对象而不提示输入用户名 密码
  • 重复 Pinterest Facebook 邀请功能

    I m trying to duplicate Pinterest s Invite Friends functionality In case you haven t seen what it looks like it looks li
  • MySQL:删除包含特定参数且早于一天的行[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在使用 mysql 为我的网站创建一个登录系统 它在基于订阅的系统上运行 如果参数 premium 等于 1 DAY 如果它早于一
  • 从 Facebook API 搜索

    我在测试服务器上实现了 Facebook api V2 0 的帖子搜索 该服务器仍然工作正常 但是 当将代码转移到客户端服务器并为该网址注册一个新应用程序时 它给出了结果 stdClass Object error gt stdClass
  • Facebook Graph API 不返回电子邮件

    我有以下代码 fb new Facebook app id gt appId app secret gt appSecret default graph version gt v2 9 oAuth2Client fb gt getOAuth

随机推荐

  • Tkinter 中的文本输入

    Goal 我正在尝试编写一个基本文件 我可以将其导入到所有其他程序中 该程序将具有一个简单的函数 可以从用户那里获取输入然后返回它 Code 为此 我有以下代码 class takeInput object def init self re
  • 在服务中设置线程优先级没有任何效果[关闭]

    Closed 这个问题需要调试细节 目前不接受答案 在 Windows 服务中设置线程优先级之前是否需要一些额外的配置 在我的服务中 我有几个线程 每个线程都调用CreateProcess 启动外部应用程序的函数 我想调整线程 或进程 优先
  • 如何在android中放大/缩小ImageView(不使用Canvas)

    我正在开发一个应用程序 其中我必须在另一个图像 较大的图像 上旋转 拖放和放大 缩小图像 较小的图像 我完成了旋转和拖放 但无法实现放大 缩小 我知道如何在画布上执行此操作 但在我的应用程序中我没有使用画布 任何帮助将不胜感激 谢谢 达文德
  • PHP 对象的动态命名

    如何动态为 php 对象分配名称 例如 我如何将一个对象分配给一个 var 它是我用来创建对象的数据库行的 id 例如
  • 有没有人在windows平台上成功部署到heroku上?

    我一直在阅读各种有关如何从 Windows 在 Heroku 上部署 Rails 应用程序的教程 我尝试过安装 git heroku gem 生成 ssh 密钥并设置路径等等 我收到公钥错误 没有腻子 或致命的未找到身份验证 有腻子 在遇到
  • 使用 FlowLayout 时 JTextField 显示为狭缝...请解释

    有人可以向我解释一下为什么我每次都使用 FlowLayout 布局管理器吗 我的文本字段显示为狭缝 我已经被这个问题撞了一段时间了 我似乎无法弄清楚 找出为什么会出错 我有一种感觉 这是一件简单的事情 我一次又一次地忽视 所以如果 有人可以
  • sklearn 如何计算两个二进制输入的 roc 曲线下的面积?

    我注意到sklearn有以下功能 sklearn metrics roc auc score 它以 ground truth 和预测作为输入 例如 ground truth 1 1 0 0 0 prediction 1 1 0 0 0 sk
  • 地理围栏 - 点在多边形内部/外部

    我想确定一个多边形并实现一个算法来检查一个点是在多边形内部还是外部 有谁知道是否有任何类似算法的示例 如果我没记错的话 该算法是通过测试点画一条水平线 计算出有多少条多边形线相交才能到达您的点 如果答案很奇怪 那么你就在里面 如果答案是偶数
  • 使用长字符串调用 body.search() 时抛出 InvalidArgument 异常

    context document body search 正在扔一个InvalidArgument当要搜索的文本长度超过 255 个字符时 桌面版 Word 2016 中出现异常 Word Online 似乎也是如此 这是失败的代码 var
  • 找出两个 ICollection 集合是否包含相同对象的最快方法

    找出两个是否存在的最快方法是什么ICollection
  • 关闭 Twisted 中的非活动连接

    我正在使用 LineReceiver 协议运行 Twisted 服务器 有时客户端会默默地断开连接 因此 Twisted 会保持连接打开 而且由于除非有请求 否则服务器不会发送任何内容 因此永远不会出现 TCP 超时 换句话说 某些连接在服
  • 设置源数据时删除过渡

    当我将 Windows 8 应用商店应用程序中的默认模板用于项目网格时 在设置集合源时 我会得到一些漂亮的转换 我怎样才能删除这些转换 我正在对数据进行过滤 但我不喜欢每次数据更改时数据都会淡入 您可以通过覆盖 ItemContainerT
  • 如何保护文件免遭未经授权的下载

    我正在使用 PHP 和 MySQL 数据库创建一个会员网站 我有办法让用户使用他们的用户名和密码登录 所有非常标准的东西 我什至安装了系统 允许注册用户下载示例视频文件 这也很好用 然而问题是 任何能够弄清楚文件系统的人都可以直接下载这些文
  • 如何在谷歌地图中设置缩放级别

    这是我编写的代码 用于通过提供纬度和经度向谷歌地图添加标记 问题是我得到了一个非常高缩放的谷歌地图 我尝试将缩放级别设置为 1 但这对高度缩放的地图没有影响
  • Android - 滑动手势出现问题

    我正在尝试在我的应用程序中实现滑动手势 我已经编写了几乎所有代码 但它不起作用 这是我的活动中的代码 Swipe detector gestureDetector new GestureDetector new SwipeGesture t
  • 在 JavaScript 中将 mm-dd-yyyy 转换为日期

    我有 mm dd yyyy 格式的数据 我需要它与 JavaScript 中的当前日期进行比较 我有一些数据 但它不起作用 我的日期是 2016 年 7 月 12 日 格式为 mm dd yyyy var d 12 07 2016 var
  • 重置复选框并删除定义工作表上的注释

    我需要将复选框重置为 FALSE 未选中 并从定义的工作表中删除所有注释 还需要一个从 Google 工作表 所有工作表 中删除所有注释的脚本 我尝试组合许多不同的脚本 https webapps stackexchange com que
  • 蒙古实验室连接错误

    当我尝试使用以下命令连接到 MongoLab 时 收到以下消息 mongo ds035438 mongolab com 35438 comeventsbw u 我的用户名 p 我的密码 MongoDB shell 版本 3 0 6 连接到
  • Swift 类在作用域结束时取消初始化,而不是在上次使用后取消初始化

    我问过这个问题 asking 关于局部变量中引用的生命周期的保证并被提及这个线程其中类实例引用生命周期的确切语义进行了讨论 AFAICT 从该线程来看 类实例可能会在最后一次使用包含最后一个引用的变量之后立即被取消初始化 甚至在同一语句中的
  • 函数中的 Facebook 身份验证 - getUser() 返回 0

    我正在尝试在我的控制器中创建一个将相册发布到 Facebook 的功能 每次访问该函数时 即使我刚刚正确登录 Facebook 我也会被重定向到 REDIRECT URI 就好像 userid 0 一样 这是因为登录后 它会重新启动该功能并