Questions tagged «facebook»

Facebook Platform使开发人员可以将其应用程序直接集成到Facebook社交网络服务中。使用此标签解决在开发FOR Facebook时可能出现的问题。此标签不适用于有关使用Facebook网站或官方Facebook应用程序的支持问题。这也不是“我想实现与Facebook所具有的功能类似”功能的问题。

9
如何使用facebook graph api显示用户个人资料图片?
我想在我的应用程序画布页面中显示用户个人资料图片,有没有办法使用图形API来做到这一点? 我知道我可以使用FBML做到这一点,但我也想将个人资料图片传递给我正在制作的Flash游戏,因此我必须从api获取个人资料图片并将其作为变量发送,这是我的代码到目前为止, $facebook = new Facebook(array( 'appId' => FACEBOOK_APP_ID, 'secret' => FACEBOOK_SECRET_KEY, 'cookie' => true, 'domain' => 'myurl/facebook-test' )); $session = $facebook->getSession(); $uid = $facebook->getUser(); $me = $facebook->api('/me'); $updated = date("l, F j, Y", strtotime($me['updated_time'])); echo "Hello " . $me['name'] . $me['picture'] . "<br />"; echo "<div style=\"background:url(images/bg.jpg); width:760px; height:630px;\">" …

13
Facebook Oauth注销
我有一个使用Oauth 2与Facebook集成的应用程序。 我可以使用FB进行授权,并很好地查询其REST和Graph API,但是当我授权使用FB创建活动的浏览器会话时。然后,我可以注销应用程序,但是与FB的会话仍然存在,因此,如果其他任何人使用浏览器,他们都将看到以前的用户FB帐户(除非以前的用户也手动注销了FB)。 我要授权的步骤是: 致电[LINK:graph.facebook.com/oauth/authorize?client_id ...] 如果用户的浏览器尚没有活动的FB会话,则此步骤将打开Facebook登录/连接窗口。他们登录到Facebook后,便使用可以交换oauth令牌的代码重定向到我的网站。 使用(1)中的代码调用[LINK:graph.facebook.com/oauth/access_token?client_id ..] 现在,我有了一个Oauth令牌,并且用户的浏览器已登录到我的站点以及FB。 我调用了一堆API来做事:即[LINK:graph.facebook.com/me?access_token= ..] 假设我的用户想要注销我的网站。FB条款要求我执行“单点注销”,因此当用户注销我的网站时,它们也将从Facebook中注销。有观点认为这有点愚蠢,但是如果有任何实际的实现方法,我很乐意遵守。 我看到了以下建议: 答:我使用Javascript API登出:FB.Connect.logout()。好吧,我尝试使用它,但是它没有用,而且我不确定如何使用,因为我在网站上未以任何方式使用Javascript API。该会话不是由Javascript API维护或创建的,因此我不确定该如何终止它。 B.使用[LINK:facebook.com/logout.php]。前一段时间,一位管理员在Facebook论坛上提出了此建议。给出的示例与获取FB会话的旧方法(非oauth)有关,因此我认为我无法在我的情况下应用它。 C.使用旧的REST api expireSession或revokeAuthorization。我尝试了这两种方法,尽管它们确实使Oauth令牌过期,但它们不会使浏览器当前正在使用的会话无效,因此它没有任何作用,用户也没有退出Facebook。 我确实有点松懈,Facebook文档不完整,模棱两可,而且效果很差。论坛上的支持不存在,目前我什至无法登录Facebook论坛,除此之外,他们自己的FB Connect集成甚至无法在论坛上使用。不会激发太大的信心。 Ta为您提供的任何帮助。德里克 ps。不得不将HTTPS更改为LINK,因果报应不足以发布链接,这可能足够公平。
70 facebook  oauth  logout 

6
使用Facebook Graph API“喜欢”页面
使用Graph API,我希望能够有一个授权用户“喜欢”页面。 我尝试发布以下内容 https://graph.facebook.com/${PAGE_ID}/likes?access_token=${ACCESS_TOKEN} 而且我在JSON响应正文中收到HTTP错误500,并伴有“无效的post_id参数”。看起来该/likes资源适合喜欢墙贴而不是页面。如何使它与页面配合使用?

8
Facebook页面访问令牌-这些令牌会过期吗?
我正在开发一个允许用户管理其Facebook粉丝页面的应用程序。这需要以下两个访问令牌: 用户访问令牌 页面访问令牌 我对用户访问令牌非常熟悉,但对页面访问令牌却并不熟悉。 有人知道页面访问令牌保持有效的时间吗?我在Facebook网站上只能找到这个简洁的段落,没有提到它的有效期。 我是否可以假设如果我请求具有offline_access权限的用户访问令牌,则页面访问令牌也将无限期使用(除非用户更改密码或手动取消对我的应用的授权)? 我之所以问是因为我想知道我应该多久查询一次Facebook Graph API并获取页面访问令牌。用户注册时,我是否应该只请求一次?还是我应该在每个API调用不断变化的情况下要求它们一个?后者显然更加费劲!

9
Facebook API:吸引喜欢该页面的人的粉丝
我想获得喜欢某个页面或喜欢它的用户的列表。 FB API文档指出,您只能使用社交图来获取特定页面的粉丝数量,而不能获得粉丝列表。 此处的讨论“检索Facebook粉丝名称”表明,可以使用FQL查询SELECT user_id FROM like WHERE object_id="YOUR PAGE ID"来获得喜欢该页面的人数,但是对于同一页面,它给出的响应为空“ {}”。 所以我想知道是否有人能做到这一点。

4
不可见字符-ASCII
有看不见的字符吗?我已经检查了Google中的不可见字符,并最终得到了许多答案,但我不确定这些答案。Stack Overflow上的人可以告诉我更多有关此的信息吗? 我还检查了Facebook上的个人资料,发现用户的个人资料没有名字吗?这怎么可能?是数据库问题吗?骇客之类的? 当我通过Internet搜索时,发现这200D是一个带有不可见字符的ASCII值。是真的吗

6
如何将Facebook页面的供稿嵌入我的网站
我正在与一个团体合作,以促进慈善活动。我要嵌入的页面不是我的Facebook个人资料,而是某人创建的Facebook页面。 我想在我的网页上显示该新闻提要。如果我需要从此页面获取信息/访问权限,请告诉我。如果其他人有可行的示例,请告诉我。我一直在使用jsfiddle.net进行绘制。 这是网页:http://www.facebook.com/pages/Chefs-Classic-Knock-OUT-Bout/225835004169328

11
Facebook OAuth 2.0的“代码”和“令牌”
为什么在Facebook OAuth2身份验证流程中同时需要“代码”和“令牌”,如此处所述:https : //developers.facebook.com/docs/authentication/? 如果您查看OAuth对话框参考(https://developers.facebook.com/docs/reference/dialogs/oauth/),似乎您只曾经使用令牌来获取有关用户的信息,并且如果您指定了response_type参数astoken或code,token,那么您将在第一时间获得令牌。 为什么您需要获取一个“代码”,然后使用该代码获取一个“令牌”,而不是直接获取令牌? 我猜我对OAuth的工作原理有一些误解,但是https://graph.facebook.com/oauth/access_token如果您第一次在对话框中获得令牌,似乎可以完全避免请求。

3
如何在服务器端使用Facebook用户访问令牌?
前言 我正在开发几个Web服务和少数客户端(Web应用程序,移动设备等),它们将通过HTTP与上述服务进行交互。我当前的工作项目是为产品设计身份验证和授权解决方案。我已决定利用外部身份提供者(例如Facebook,Google,Microsoft,Twitter等)进行身份验证。 我正在尝试解决以下问题:“当有请求发送到服务器时,我怎么知道用户是谁,如何确定?”。下面还有更多问题... 要求 依靠外部身份来表明我正在与谁打交道('userId'本质上就是我关心的全部)。 系统应使用基于令牌的身份验证(例如,相对于cookie或基本身份验证)。 我相信这是跨多个客户端和服务器扩展同时提供松散耦合的正确选择。 工作流程 根据我对基于令牌的身份验证的阅读和理解,以下是我对工作流程的想象。现在让我们通过网络浏览器关注Facebook。我的假设是,其他外部身份提供商应具有类似的功能,尽管我尚未确认。 请注意,在撰写本文时,我基于以下Facebook登录版本2.2 客户端:使用JavaScript SDK启动登录Facebook Facebook:用户验证并批准应用权限(例如,访问用户的公开资料) Facebook:将响应发送到客户端,其中包含用户的访问令牌,ID和已签名的请求 客户端:将用户访问令牌存储在浏览器会话中(由SDK方便地处理) 客户端:通过在授权标头+用户ID(可能在自定义标头中)中发送用户的访问令牌,向我的Web服务请求安全资源 服务器:从请求标头读取用户访问令牌,并通过向Facebook提供的debug_token图API发送请求来启动验证 Facebook:使用用户访问令牌信息来响应服务器(包含appId和userId) 服务器:通过将appId与期望值(自身已知)进行比较,并将userId与客户端请求中发送的内容进行比较,从而完成令牌的验证 服务器:使用请求的资源响应客户端(假设授权路径愉快) 我在想象对服务器的后续请求将重复执行步骤5-9(而用户的访问令牌有效–未过期,从FB端撤消,更改应用权限等) 这是一个有助于执行步骤的图表。请了解该系统不是单页应用程序(SPA)。提到的Web服务是从本质上将JSON数据返回给客户端的API端点。它们不提供HTML / JS / CSS(Web客户端服务器除外)。 问题 首先,基于我的序言和要求,上述方法是否存在明显的缺口/凹坑? 是否需要/建议向Facebook执行出站请求以验证每个客户请求的访问令牌(上述步骤6-8)? 我至少知道,我必须验证来自客户端请求的访问令牌。但是,对于第一次验证之后的后续验证,推荐的方法对我来说还是未知的。如果有典型的模式,我很想听听它们。我了解,根据我的要求,它们可能取决于应用程序;但是,我只是不知道要寻找什么。一旦有了基本思路,我将进行尽职调查。 例如,可能的想法: 第一次验证完成后,将访问令牌+用户ID对散列,并将其存储在分布式缓存(可由所有Web服务器访问)中,并且到期时间等于访问令牌。根据来自客户端的后续请求,对访问令牌+ userId对进行哈希处理,并检查其在缓存中的存在。如果存在,则请求被授权。否则,请联系Facebook图形API确认访问令牌。我假设如果使用HTTPS(将会),则该策略可能可行。但是,性能如何比较? 在这个StackOverflow问题中可接受的答案建议在对Facebook用户令牌的第一次验证完成后创建一个自定义访问令牌。然后,将自定义令牌发送到客户端以进行后续请求。我想知道这是否比上述解决方案更复杂。这将需要实现我自己的身份提供者(我想避免的事情,因为我想首先使用外部身份提供者……)。这个建议有什么好处吗? 上面的步骤3中的响应上是否存在signedRequest字段(在此处提到),是否等同于“游戏画布登录”流程中此处的signed请求参数? 似乎暗示它们是等效的,因为在文档中前者链接到后者。但是,令我感到惊讶的是,网络文档的“手动构建登录流程”页面中没有提到游戏页面上提到的验证策略。 如果对#3的回答为“是”,是否可以使用相同的身份确认策略对签名进行解码并与预期在服务器端使用的身份进行比较? 我想知道是否可以利用此方法来代替对debug_token图API的出站调用(上述步骤#6),以按照此处的建议确认访问令牌: 当然,为了在服务器端进行比较,需要将签名的请求部分与请求一起发送到服务器(上述步骤#5)。除了在不牺牲安全性的情况下的可行性之外,我想知道与拨打外拨电话相比,性能如何。 当我在使用它时,在什么情况下/出于什么目的,例如,您会将用户的访问令牌持久化到数据库吗?我看不到需要这样做的情况,但是,我可能会忽略某些事情。我很好奇某些常见情况可能会引发一些想法。 谢谢!

4
Facebook iPhone应用程序支持哪些自定义URL方案?
注意 这些网址可能不可用。 Facebook已进行了多次更新,并且未正式支持其中任何一种。 /注意 我正在尝试查看有关iPhone上Facebook应用程序的可用信息。到目前为止,我发现了几个包含有限信息的网站,并且我能够弄清楚Facebook个人资料发布命令(不幸的是,它使发布后的窗口保持打开状态-因此,发布到Facebook的人必须先发布一次,然后取消)。 我的问题是,是否有人可以将命令发送到Facebook应用程序? 我可以从http://wiki.akosma.com/IPhone_URL_Schemes获得以下信息 fb://profile –打开Facebook应用程序到用户的个人资料。 fb://friends –将Facebook应用程序打开到朋友列表。 fb://notifications –将Facebook应用打开到通知列表(注意:此URL似乎有一个错误。“通知”页面打开。但是,无法导航到Facebook应用中的其他任何位置) fb://feed –将Facebook应用程序打开到新闻源。 fb://events –将Facebook应用程序打开到“事件”页面。 fb://requests –将Facebook应用程序打开到“请求”列表。 fb://notes –将Facebook应用程序打开到“备注”页面。 fb://albums –将Facebook应用程序打开到“相册”列表。 这些命令仅打开相应的窗口。我发现的第一个有用的命令是 fb://publish/profile/#ID#?text=#BODY# 这是Facebook图形api和我在其他应用程序上发现的一些其他信息的组合。然后一点点的希望。 替换#ID#为要发布到的个人资料的ID,然后替换#BODY#为要发布到的文本,该窗口会在Facebook应用中显示,其中的文本已预先填充。 您也可以将其me用作ID张贴到登录用户的个人资料中。 如果有人知道更多信息,我将尝试与之交互并希望提供尽可能多的信息。

25
Laravel社交名媛:InvalidStateException
我正在使用Laravel Socialite在网站上添加Facebook连接按钮。有时,我在回调中遇到此错误: exception 'Laravel\Socialite\Two\InvalidStateException' in /example/vendor/laravel/socialite/src/Two/AbstractProvider.php:161 我不知道这是什么意思,也没有找到有关此错误的任何信息。真正的问题是它似乎是一个随机异常(不了解为什么会发生)。那么这个错误是什么意思以及如何避免呢? 看来这与Laravel 5在AbstractProvider.php中获取InvalidStateException不同,因为在我看来,这是随机的。

8
从iOS应用打开指向Facebook页面的链接
我想将用户重定向到我的应用程序的Facebook页面,所以我有以下代码: [[UIApplication sharedApplication] openURL: [NSURL URLWithString: @"https://facebook.com/myAppsPage"]]; 如果设备上没有Facebook应用程序,则效果很好。然后,链接在Safari中打开。 如果设备上安装了Facebook应用程序,则在执行上述代码后,Facebook应用程序将打开,但它显示的是用户时间轴,而不是我的应用程序页面。我尝试将链接更改@"fb://pages/myAppsPage"为@"fb://profile/myAppsPage,但此操作再次打开了用户时间表。 所以,我的问题是:如果没有Facebook应用程序,如何在野生动物园中打开我的应用程序页面;如果安装了Facebook应用程序,如何在Facebook应用程序中打开我的应用程序页面。
68 ios  facebook 

7
如何在AJAX驱动页面上添加Facebook“赞”按钮
我已经拖网和堆栈溢出,但找不到这个问题的适当答案。在开始尝试寻找自己的解决方案的尝试和错误过程之前,我认为我应该转向Stack Overflow机构,以查看是否已经成功实现。 我有一个AJAX驱动的页面,对于非JavaScript浏览器和SEO,该页面可以正常降级。AJAX版本中的每次点击都可以由唯一的URL表示。 我想做的是动态更改按钮的HREF。我确实知道该标记会在运行时转换为标准HTML(即转换为讨厌的表格/ iframe布局)。 我只是想知道是否有人对如何在AJAX驱动的页面上实现类似FB的按钮有任何见解? 提前加油:) 编辑: 您如何看待我刚刚一起尝试过的这种方法?看到有什么大问题吗? <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <script src="JS/jquery/jquery.js" type="text/javascript"></script> <script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script> <script language="javascript" type="text/javascript"> $("document").ready ( function () { CreateNewLikeButton("http://www.yahoo.com") $("a#ChangeToGoogle").click ( function (e) { e.preventDefault(); CreateNewLikeButton("http://www.google.ca") } ); } ); function CreateNewLikeButton(url) { …

11
ASP.NET MVC5 OWIN Facebook身份验证突然不起作用
更新2017! 我发布原始问题时遇到的问题与Facebook最近迫使所有人都使用其API版本2.3时所做的更改无关。有关该特定问题的解决方案,请参见下面的sammy34的答案。/ oauth / access_token端点的2.3版现在返回JSON而不是表单编码的值 由于历史原因,这是我最初的问题/问题: 我有一个MVC5 Web应用程序,该应用程序使用通过Facebook和Google进行身份验证的内置支持。几个月前构建此应用程序时,我们遵循了本教程:http : //www.asp.net/mvc/tutorials/mvc-5/create-an-aspnet-mvc-5-app-with-facebook-and -google-oauth2-和-openid-sign-on,一切正常。 现在,突然之间,Facebook身份验证完全停止了工作。Google身份验证仍然有效。 问题描述:我们单击链接以使用Facebook进行连接,如果我们不想允许我们的Facebook应用程序访问我们的个人资料,则会重定向到Facebook,并在其中提示您。当我们单击“确定”时,我们将被重定向回我们的站点,但是没有登录,我们只是在登录屏幕上结束了。 我已经在调试模式下完成了此过程,并且按照上述教程在我的帐户控制器中获得了此ActionResult: // GET: /Account/ExternalLoginCallback [AllowAnonymous] public async Task<ActionResult> ExternalLoginCallback(string returnUrl) { var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync(); if (loginInfo == null) { return RedirectToAction("Login"); } ............ 单步执行代码时以及从Facebook返回时,loginInfo对象始终为NULL,这将导致用户被重定向回登录名。 为了了解幕后实际发生的情况,我安装了Fiddler并监视了HTTP流量。我发现,在Facebook权限对话框中单击“确定”后,Facebook使用以下URL重定向回我们的应用程序: https://localhost/signin-facebook?code=<access-token> 这个URL不是一个实际的文件,可能是由我猜测在此OWIN框架中内置的某些控制器/处理程序处理的。它很可能使用给定的代码连接回Facebook,以查询有关尝试登录的用户的信息。现在,问题是我们没有这样做,而是被重定向到: /Account/ExternalLoginCallback?error=access_denied 我确定Facebook正在做某件事,也就是说,它没有向我们提供用户数据,而是通过此错误消息将我们重定向回去。 这会导致AuthenticationManager.GetExternalLoginInfoAsync();失败,并始终返回NULL。 我完全没有主意。据我们所知,我们并没有做出任何改变。 我尝试创建一个新的Facebook应用程序,尝试再次按照该教程进行操作,但是我始终遇到相同的问题。 任何想法欢迎! 更新! 好吧,这让我发疯了!现在,我已经手动完成了执行身份验证所需的步骤,当我这样做时,一切都很好。为什么在使用MVC5 …

2
是否可以检查是否在Facebook上确认了电子邮件?
更新资料 这是在2013年12月16日通过https://www.facebook.com/whitehat/report/向Facebook报告的,而Facebook在12月17日回应说该错误早已得到修复。 我已经使用我的Facebook帐户重新测试了这一点(我仍然没有验证电子邮件地址),并且在使用Grap API Explorer工具时,无法使用Graph API或FQL查询获取该帐户的电子邮件地址。 结论:使用Graph API或FQL查询从Facebook获得的电子邮件地址是经过验证的电子邮件。如果帐户尚未验证,则为电子邮件,但无法获取。 原始帖子 我正在使用SSO制作一个网络应用程序,该应用程序为用户提供了使用Google或Facebook登录的功能。我希望同时使用这两种帐户的用户在我的系统中显示为同一用户,而不管他们使用哪个身份登录。为此,我正在考虑使用电子邮件地址作为标识符,以了解是否应该创建一个新帐户或用户是否已经存在。 为了不引入任何安全问题,我必须知道该电子邮件地址已经过验证,并且实际上属于该用户。对于Google,userinfo API可以告诉我电子邮件是否已验证,因此这里没有问题。但是我在Facebook Graph API中找不到类似的东西。 是否可以知道是否在Facebook上确认了电子邮件地址? 我知道有一个verified字段,但这仅告诉您该帐户是否已验证,而不是电子邮件地址。 首先,您似乎只能将Graph API用于已确认电子邮件地址的帐户。如果未确认地址,我会收到一个错误消息,告诉我必须先确认电子邮件地址,然后才能登录任何第三方站点。 但是,似乎并非所有帐户都是如此。在某些情况下,即使您没有确认的电子邮件地址,也可以访问Facebook的所有部分。例如,当您使用@ myopera.com邮件地址进行注册时。 当您使用@ myopera.com电子邮件地址注册Facebook时,您会收到一条消息,提示您在提交注册表单后帐户已被临时锁定。要继续,您需要提供电话号码以验证您的帐户并“保持Facebook安全和免受垃圾邮件侵扰”(对于截图中的瑞典语,很抱歉,这是在我进入Facebook并将语言更改为英语之前): 提供电话号码后,您就可以登录,而Facebook不会再让您担心必须验证电子邮件地址。 您可以在设置页面上看到唯一尚未验证您的电子邮件地址的地方: 在确认电子邮件地址可用并列出注册期间输入的电话号码之前,通常无法访问“移动设置”: 除此之外,还可以使用未经确认的电子邮件地址登录第三方站点: 当我与此用户连接到图api时,我可以获得未确认的电子邮件地址,并且该verified字段按预期返回true,因为我已经通过添加电话号码验证了该帐户。因此,显然我无法相信我从Facebook获得的电子邮件地址确实属于拥有Facebook帐户的用户。 还有其他方法可以知道电子邮件地址是否已通过验证,或者如果我想使用它来识别用户,是否必须自己进行验证?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.