标签: facebook-javascript-sdk

使用Koala续订Facebook访问令牌

Koala在Ruby on Rails应用程序上使用gem

我在通过Koala使用的数据模型上有以下代码:

@graph = Koala::Facebook::GraphAPI.new(token_secret)
friends = @graph.get_connections("me", "friends")
Run Code Online (Sandbox Code Playgroud)

其中,token_secret来自于我的一个字段users的表,保存在登录.

它工作正常但几分钟后我得到:

Koala::Facebook::APIError (OAuthException: Error validating access token: Session has expired at unix time 1327438800. The current unix time is 1327442037.):
Run Code Online (Sandbox Code Playgroud)

我找到了在前面用这些方法更新这个令牌的方法,Facebook JS SDK但是这个方法我在控制器上调用了朋友列表.

如何更新token_secret使用考拉?这可能吗?

facebook-javascript-sdk ruby-on-rails-3 koala

18
推荐指数
2
解决办法
9374
查看次数

OmniAuth Strategies Facebook NoAuthorizationCodeError(必须传递`code`参数或签名请求(通过`signed_request`参数):

我收到一个错误:

 OmniAuth::Strategies::Facebook::NoAuthorizationCodeError (must pass either a 
`code` parameter or a signed request (via `signed_request` parameter or a 
`fbsr_XXX` cookie)):
Run Code Online (Sandbox Code Playgroud)

它不是一直都会来的.它会偶尔出现,由airbrake通知.

谷歌搜索有很多链接,但无法找到合适的解决方案..任何人?omizersuth.rb在initializers目录下:

OmniAuth.config.logger = Rails.logger
Rails.application.config.middleware.use OmniAuth::Builder do
  provider :facebook, ENV['FACEBOOK_KEY'], ENV['FACEBOOK_SECRET'], {:client_options => {:ssl => {:ca_path => "/etc/ssl/certs"}}, :scope => 'user_about_me,email,publish_actions,user_location,publish_stream,offline_access,user_interests,user_likes,user_hometown', :display => 'popup'}      

  OmniAuth.config.on_failure = Proc.new do |env|
    #this will invoke the omniauth_failure action in SessionsController.
    "SessionsController".constantize.action(:omniauth_failure).call(env)
  end         
end
Run Code Online (Sandbox Code Playgroud)

PS:我正在使用facebook javascript sdk和facebook-omniauth

facebook ruby-on-rails omniauth facebook-javascript-sdk

18
推荐指数
4
解决办法
1万
查看次数

Facebook和跨域消息传递澄清?

我想调查facebook登录如何将数据传输到主页面(mypage) - 尽管跨域限制.

所以我用FB js sdk代码创建了一个新页面:

FB.login(function (response)
    {
    if (response.authResponse)
        {...
Run Code Online (Sandbox Code Playgroud)

它确实打开了弹出窗口:

在此输入图像描述

但是当我调查我的页面上是否有任何Iframe (我的代码不包含任何iframe):

我看到了这个 :

>>$("iframe")
Run Code Online (Sandbox Code Playgroud)

结果:

[
<iframe name=?"fb_xdm_frame_http" frameborder=?"0" allowtransparency=?"true" scrolling=?"no" id=?"fb_xdm_frame_http" aria-hidden=?"true" title=?"Facebook Cross Domain Communication Frame" tab-index=?"-1" src=?"http:?/?/?static.ak.facebook.com/?connect/?xd_arbiter.php?version=24#channe…l_path=%2FWebSite2%2FHTMLPage3.htm%3Ffb_xd_fragment%23xd_sig%3Df5252874%26" style=?"border:? none;?">?…?</iframe>?
, 
<iframe name=?"fb_xdm_frame_https" frameborder=?"0" allowtransparency=?"true" scrolling=?"no" id=?"fb_xdm_frame_https" aria-hidden=?"true" title=?"Facebook Cross Domain Communication Frame" tab-index=?"-1" src=?"https:?/?/?s-static.ak.facebook.com/?connect/?xd_arbiter.php?version=24#cha…l_path=%2FWebSite2%2FHTMLPage3.htm%3Ffb_xd_fragment%23xd_sig%3Df5252874%26" style=?"border:? none;?">?…?</iframe>?
]
Run Code Online (Sandbox Code Playgroud)

我读到它们用于跨域.

但问题是为什么他们在MY PAGE上

他们应该在Facebook内部页面的某个地方!

我这么说是因为我知道iframe技术的工作原理如下:

在此输入图像描述

如您所见 - 内部Iframe 使用查询字符串中的值创建另一个 iframe SRC(该值实际上是首页url),然后,在两个页面上使用JS + URL => JS …

javascript facebook cross-domain facebook-javascript-sdk

18
推荐指数
1
解决办法
2万
查看次数

通过facebook API进行人脸识别

目前,如果我有一个Facebook朋友,我已经在我上传的图片中添加了标签,当我上传他脸上的图片时,脸谱会自动将他的用户建议为标签.

是否可以通过facebook graph api或SDK模拟这种相同的行为?

换句话说,如果我使用https://developers.facebook.com/docs/graph-api/reference/user/photos/上描述的api 来上传我的用户的照片(在"创建"下描述)帐户是朋友,是否有任何方式Facebook将在请求返回参数或类似的东西中提出相同的建议?

api facebook facebook-graph-api facebook-javascript-sdk facebook-php-sdk

18
推荐指数
1
解决办法
3万
查看次数

facebook javascript sdk登录不适用于iOS /移动最佳做法

我正在尝试允许用户使用javascript SDK通过facebook登录登录我的webapp.它适用于桌面(safari和chrome),但iOS上的safari和chrome上弹出失败.

该错误直接针对不支持浏览器和操作系统的chrome.这个问题一直围绕描述的工作在这里.目前尚不清楚safari的问题是什么,也没有看到弹出窗口.点击按钮时会调用登录调用,所以我不相信浏览器会阻止它.我也试过允许这里建议的弹出窗口,但该解决方案不起作用,也不是强制用户更改该设置的可行的长期解决方案.

人们如何在生产中使用facebook登录并期望它在移动设备上运行?你需要使用手动 fb登录吗?似乎javascript SDK不适用于移动浏览器和操作系统.

javascript facebook facebook-javascript-sdk

18
推荐指数
1
解决办法
1707
查看次数

Facebook和Cross Domain Messaging的SecurityError

我们有一个利用facebook javascript sdk和登录功能的应用程序.

我们一直注意到生产日志中出现了这个错误.特别适用于版本为10.3及更高版本的iOS设备.似乎也只是针对safari浏览器

SecurityError(DOM Exception 18):阻止具有源" https://www.mymadeupsite.com "的帧访问具有源" https://staticxx.facebook.com " 的帧.被访问的帧将"document.domain"设置为"facebook.com",但请求访问的帧没有.两者都必须将"document.domain"设置为相同的值才能允许访问.

这是我们的init函数:

        init: function(options) {
            var facebookUrl, scriptInclude;
            Facebook.baseHost = options.baseHost;
            if (typeof FB !== "undefined" && FB !== null) {
                return Facebook.setup();
            } else {
                if (options.appId == null) {
                    throw 'Facebook: cannot init without appId';
                }
                window.fbAsyncInit = function() {
                    FB.init({
                        appId: options.appId,
                        version    : 'v2.3',
                        channelUrl: options.channelUrl || ("" + document.location.protocol + "//" + document.location.host + "/channel.html"),
                        status: true,
                        cookie: false,
                        xfbml: false,
                        oauth: true
                    }); …
Run Code Online (Sandbox Code Playgroud)

javascript facebook cross-domain ios facebook-javascript-sdk

18
推荐指数
1
解决办法
2239
查看次数

多个facebook喜欢按钮(fb:like)不起作用:不喜欢自己

EDIT: LAST UPDATE:

所以,我们已经测试了一些.我用过facebook开发者'lintner' http://developers.facebook.com/tools/lint/.在我的任何一个页面上都没有发现任何错误.在lint-page上的like按钮工作正常.如果我切换回自己的网站,我可以清楚地看到我的喜欢被计算在内.

奇怪的是..如果我在自己的页面上删除了类似的东西,并且神奇地能够从我自己的网站添加类似的东西.

我刚刚改变的最后一件事是将我的doctype改为STRICT // EN,因为这是我发现的与使用类似按钮和我的某些页面不同的唯一部分...


我一直在搜索这个bug一段时间,但我似乎无法找到问题所在.我用过很多页面来获取我需要的信息:

  1. http://developers.facebook.com/docs/opengraph/
  2. http://www.proworks.com/blog/2010/04/28/add-advanced-javascript-sdk-and-fbml-facebook-likerecommend-button-features-to-your-website/
  3. http://www.hyperarts.com/blog/how-to-add-facebook-like-button-social-plugins-to-wordpress-posts/
  4. http://www.1stwebdesigner.com/tutorials/facebook-integrate/
  5. http://developer.practicalecommerce.com/articles/1857-Two-Easy-Ways-to-Add-the-Facebook-Like-Button-to-Product-Detail-Pages
  6. http://developers.facebook.com/docs/reference/plugins/like/

(除了这些关于类似问题的stackoverflow上的这些帖子之外)

但毕竟阅读后我仍然不确定会出错.在大多数页面上,like按钮工作正常(对我而言,至少,不确定如果有人添加了喜欢的内容,因为我还没有发现'2').

这些是具有类似按钮的当前页面:

  1. http://ontwikkel.fotoactie.nl/pic.php?id=61
  2. http://ontwikkel.fotoactie.nl/pic.php?id=62
  3. http://ontwikkel.fotoactie.nl/pic.php?id=63
  4. http://ontwikkel.fotoactie.nl/pic.php?id=64
  5. http://ontwikkel.fotoactie.nl/pic.php?id=65
  6. http://ontwikkel.fotoactie.nl/pic.php?id=66
  7. http://ontwikkel.fotoactie.nl/pic.php?id=67(刚添加)

在我的情况下,当我按下按钮时,最后一个按钮(nr 6 + 7)增加了一个,但是在我这样做之后它也会自动删除.一秒钟后会弹出一个注释框,但是在一瞬间它会逐渐消失,然后计数器会跳回到0.当我从链接1-5中删除其中一个时,会将其删除,我可以添加它没有它被删除.

对于我所读到的内容,我必须使用Facebook Javascript SDK才能使用<fb:like>标记,我已经完成了.起初我使用了一个应用程序ID,但经过一些阅读后很明显,类似按钮不需要app-id.

然后我发现了所需的元数据标签.这些是我在页面上放置的内容:

<?php if($curPicTitle != false) { ?>
<meta property="og:site_name" content="<?=URL;?>"/>
<meta property="og:type" content="article" />
<meta property="og:title" content="Fotoactie.nl: <?=$curPicTitle;?>"/>
<meta property="og:url" content="<?=URL;?>pic.php?id=<?=$pic;?>" />
<meta property="og:image" content="<?=URL;?>/photos/1/med_<?=$curPicUrl;?>"/>
<?php } ?>
Run Code Online (Sandbox Code Playgroud)

请注意PHP,只有在有效图像时才会包含它,并且标题,网址和图像对于每个页面标题图像组合都是100%唯一确定的.

然后使用PHP生成like按钮:

echo '<fb:like send="false" href="'. URL . '/pic.php?id=' . $pic . '" layout="button_count" …
Run Code Online (Sandbox Code Playgroud)

javascript facebook facebook-like facebook-javascript-sdk

17
推荐指数
1
解决办法
8668
查看次数

如何正确地将Facebook JavaScript SDK注入AngularJS控制器?

我是新来AnuglarJS并已经建立了一个小型web应用程序有了它,我想使用Facebook的JavaScript SDK它,但使用的最佳实践(依赖注入到控制器,以保持应用程序的结构和可测性).

我找到了这个https://groups.google.com/forum/#!msg/angular/bAVx58yJyLE/Kz56Rw-cQREJ, 但对于这个框架的新手(模块,服务和工厂没有很好地解释恕我直言),这非常令人困惑.

那么,在AngularJS应用程序中使用Facebook SDK的正确方法是什么?

facebook-javascript-sdk angularjs

17
推荐指数
2
解决办法
1万
查看次数

Facebook喜欢使用C#SDK的功能

我想显示知道何时点击了facebook like按钮,点击验证按钮后,我想将这样的内容发布到粉丝页面.我想使用Facebook C#SDK.这是我的代码:

HTML

<html>
<head>
  <title>Your Website Title</title>
    <!-- You can use open graph tags to customize link previews.
    Learn more: https://developers.facebook.com/docs/sharing/webmasters -->
  <meta property="og:url"           content="https://www.your-domain.com/your-page.html" />
  <meta property="og:type"          content="website" />
  <meta property="og:title"         content="Your Website Title" />
  <meta property="og:description"   content="Your description" />
  <meta property="og:image"         content="https://www.your-domain.com/path/image.jpg" />
</head>
<body>
  <button id="btnVerify">Verify</button>
  <!-- Load Facebook SDK for JavaScript -->
  <div id="fb-root"></div>
  <script>(function(d, s, id) {
    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) return;
    js = d.createElement(s); js.id = id;
    js.src = …
Run Code Online (Sandbox Code Playgroud)

c# facebook facebook-like facebook-javascript-sdk facebook-c#-sdk

17
推荐指数
1
解决办法
752
查看次数

Facebook JS SDK不需要app secret来进行身份验证:它有多安全?

当我使用Facebook的JS SDK来验证我的应用程序(使用FB.init方法)时,我需要的只是我的App ID.它不需要我的应用程序密钥和/或应用程序密钥.然而,当我使用PHP SDK时,它需要我的应用程序秘密(至少我以前学习的例子使用了app ID和app secret).

是否安全并建议使用JS SDK进行身份验证?JS SDK的身份验证流程是如何实现的?

谢谢,Vineet

javascript facebook facebook-graph-api facebook-javascript-sdk

16
推荐指数
1
解决办法
5068
查看次数