标签: facebook-javascript-sdk

Facebook身份验证实施

我正在开发一个完全使用facebook身份验证的项目(不存在自定义身份验证实现).Project使用PHP进行服务器端脚本编写.我四处寻找实现快速安全的身份验证机制,但我找不到有关此主题的任何详细说明.Facebook的文件很薄弱,只提供基本信息.

哪种认证方法合适?有一个Javascript SDK和PHP SDK.据我所知,我必须使用Javascript SDK进行登录,然后使用PHP SDK我将检查我的数据库以验证凭据.但是使用带有PHP SDK的Graph API很慢.有没有更好的方法来验证会话?

我是否需要在每次请求时检查会话服务器端(PHP-SDK)?

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

6
推荐指数
1
解决办法
4884
查看次数

如何加载javascript facebook api同步...?

我想同步加载facebook api(javascript SDK).我在facebook开发者身上看到过这段代码.

<div id="fb-root"></div>
<script src="//connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({
appId      : 'YOUR_APP_ID',
channelUrl : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel File
status     : true, // check login status
cookie     : true, // enable cookies to allow the server to access the session
xfbml      : true  // parse XFBML
});
</script>
Run Code Online (Sandbox Code Playgroud)

并且还提到另一个链接 http://www.masteringapi.com/tutorials/facebook-javascript-sdk-best-practices/58/ 被提到"但你需要确保你没有在你的FB中定义FB自己的JS代码或库!"...............

我很迷惑 ....!请帮我....

facebook facebook-graph-api facebook-javascript-sdk

6
推荐指数
1
解决办法
7661
查看次数

如何基于javascript变量动态更改facebook评论插件网址?

我想基于javascript变量动态更改下面的fb评论插件的data-href.我正在运行一个flash swf文件,并通过javascript函数将data-href的新链接传递给html包装器.当我这样做时,我希望fb comments插件刷新到新的data-href链接.

<div style="float: left; padding-left:5px; min-height:500px" class="fb-comments" data-href="www.example.com" data-num-posts="20" data-width="380"></div>
Run Code Online (Sandbox Code Playgroud)

调用javascript函数传递注释插件的新链接:

function changeCommentsUrl(newUrl){
// should refresh fb comments plugin for the "newUrl" variable
}
Run Code Online (Sandbox Code Playgroud)

javascript flash facebook-javascript-sdk facebook-social-plugins

6
推荐指数
1
解决办法
6744
查看次数

Facebook登录onlogin回调触发了两次

我想在网站上整合facebook登录.使用的代码:

<fb:login-button autologoutlink="true" scope="read_stream,publish_stream,offline_access,email,user_birthday,status_update,user_status,user_hometown,user_location" onlogin="checkFBLoginStatus();">Sign in with Facebook</fb:login-button>
Run Code Online (Sandbox Code Playgroud)

当用户已登录到Facebook并单击此代码生成的按钮时,onlogin中指定的功能甚至会被触发两次.

在fbinit我有

        status     : true, // check login status
        cookie     : true, // enable cookies to allow the server to access the session
        xfbml      : true,  // parse XFBML
        oauth: true
Run Code Online (Sandbox Code Playgroud)

和函数checkFBLoginStatus只包含一个警告语句

facebook facebook-like facebook-javascript-sdk

6
推荐指数
0
解决办法
1138
查看次数

Facebook API - 创建商业页面

这是全球高度讨论的话题.但我还没有找到令人信服的答案或解决方案.所有的SO帖子最终都以NO或解决方案最终领先.

如何以自动方式为网站创建Facebook粉丝页面?

通过Open Graph API open-graph-api以编程方式创建Facebook页面

最后这个 - 创建Facebook业务页面是可能的,但如何?

Pagemodo确实可以让你创建一个真正的Facebook页面(我假设它通过Facebook javascript SDK).

据我所知,Facebook提供以下API/SDK

Graph API
FQL
Open Graph
Javascript SDK
Dialogs
Chat
Internationalization
Ads
Public Feed
Keyword Insights
Run Code Online (Sandbox Code Playgroud)

前4个应该可以定义页面创建API

图谱API - 没有任何POST查询 pages/create

FQL - 无法插入(无论如何忽略)

OpenGraph - 我们可以拥有一个对象 type:page

Javascript SDK - 我是积极的,javascript SDK可以帮助(任何人都有运气吗?)

我是否真的可以通过任何方式创建一个Facebook页面?facebook有没有其他API允许创建一个?

任何形式的帮助表示赞赏.谢谢!

facebook ruby-on-rails facebook-graph-api facebook-javascript-sdk facebook-opengraph

6
推荐指数
0
解决办法
1457
查看次数

fb:like_box无法在45秒内调整大小

有没有任何可行的解决方案来阻止Facebook Like Box不打破他的容器或其他东西?已将异步设置为TRUE但仍然可以退出.正如我在stackoverflow上看到的那样,只有fb:login_button存在问题,但是我收到了与控制台相同的警告:

fb:like_box failed to resize in 45s
Run Code Online (Sandbox Code Playgroud)

总而言之,这是我的代码,也许我错过了一些东西.

HTML标记

<html lang="en" xmlns:fb="http://ogp.me/ns/fb#">
Run Code Online (Sandbox Code Playgroud)

FB初始化

<script type="text/javascript">
            window.fbAsyncInit = function() {
                FB.init({
                    appId: <?php echo $this->config['facebook']['appId']; ?>,
                    status: true,
                    cookie: true,
                    xfbml: true
                });

                /* All the events registered */
                FB.Event.subscribe('auth.login', function (response) {
                    // do something with response
                    alert("login success");
                });
                FB.Event.subscribe('auth.logout', function (response) {
                    // do something with response
                    alert("logout success");
                });

                FB.getLoginStatus(function (response) {
                    if (response.session) {
                        // logged in and connected user, …
Run Code Online (Sandbox Code Playgroud)

facebook-javascript-sdk facebook-likebox

6
推荐指数
1
解决办法
1216
查看次数

将自定义文本传递到新的Facebook Sharer按钮

我需要将一些AngularJS变量从我的应用程序传递到新的Facebook sharer按钮,我正在使用:

<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 = "//connect.facebook.net/es_LA/all.js#xfbml=1&appId=1438439249728371";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
Run Code Online (Sandbox Code Playgroud)

还有这个:

 <div class="fb-share-button" data-href="http://mySite" data-type="button">     </div>
Run Code Online (Sandbox Code Playgroud)

我可以在哪里放置自定义文本以在对话框中共享?

谢谢!

javascript facebook facebook-sharer facebook-javascript-sdk angularjs

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

手动传递signed_pa​​rameters后的Facebook NoAuthorizationError

我在试图让客户端登录工作时遇到了很多问题,所以我将冒昧地引用其他大量问题......没有一个问题导致我的答案对我有用.

CONTEXT

  • 服务器端登录工作正常
  • 使用JS SDK的客户端登录在Safari*上运行正常(未在Firefox或IE或移动非Chrome中测试),但在Chrome中没有,这是这个问题的关键(我的大多数用户都使用Chrome,因此它超级重要)
  • 宝石版本:
    • 红宝石(2.1.2)
    • 铁轨(4.1.1)
    • oauth(0.4.7)
    • oauth2(1.0.0)
    • omn​​iauth(1.2.2)
    • omn​​iauth-facebook(2.0.0)
    • omn​​iauth-oauth2(1.2.0)
  • 这适用于处于开发模式的应用程序,作为开发人员,我肯定有权登录

*工作正常,我的意思是如果你只是复制了Ryan Bates的RailsCast(http://railscasts.com/episodes/360-facebook-authentication?view=asciicast)中的代码,它可以在没有任何其他任何东西的情况下工作


TL:DR; 我传递了以下应该有效的网址...

`http://localhost:3000/auth/facebook/callback?signed_request=ASDF.JOUYOUY`
// Obviously signed_request is a much longer string
Run Code Online (Sandbox Code Playgroud)

...但我仍然得到错误 OmniAuth::Strategies::Facebook::NoAuthorizationCodeError (must pass either a代码parameter or a signed request (viasigned_request parameter or afbsr_XXXcookie)):


故障排除日期+许多其他错误/潜在解决方案的概述

下面的代码解决方案基于Ryan Bates的RailsCast的代码:

$('#sign_in').click (e) ->
  e.preventDefault()
  FB.login (response) ->
    window.location = '/auth/facebook/callback' if response.authResponse
Run Code Online (Sandbox Code Playgroud)

障碍#1:第三方cookie被阻止了吗?

不会导致错误,只是使它无法将应用程序连接到Facebook.

首先将您的应用程序连接到Facebook需要您使用Facebook登录,因为代码FB.login (response) -> window.location = "/auth/facebook/callback" if response.authResponse取决于其有效性authResponse及其包含的signedRequest …

javascript facebook omniauth facebook-javascript-sdk omniauth-facebook

6
推荐指数
1
解决办法
791
查看次数

如果Facebook Feed对话框已弃用,您如何在Facebook上分享帖子?

我已经在Facebook应用程序上工作了一段时间,而且我们无法获得批准的应用程序.我觉得Facebook的应用程序审批流程是一个不断变化的目标,他们的解释提供了尽可能少的详细信息,为进一步的拒绝敞开大门.

我们正在使用Facebook应用程序为付费专区背后的产品提供共享功能.我们所有的共享按钮都是自定义的,因此它们适合我们的设计(我们不想使用开箱即用的按钮).我们首先构建了应用程序,尝试使用推荐的共享对话框和开放图形操作和故事.这里的问题是您只能使用共享链接的共享对话框.Facebook会在页面上读取任何打开的图形标记以提供共享信息,但由于给定页面上有许多不同的"产品",因此我们无法使用开放图形标记.由于我们的环境,我们无法使用这些动作或故事.此外,我们想要自定义共享信息,因此使用共享对话框不是一种选择.

不幸的是,当我们第一次尝试批准时,我们在应用程序中留下了开放的图形故事和操作.在我们的第一次否认中,Facebook告诉我们,我们已经错误地实现了我们的开放图表操作和故事.我们没有使用共享对话框,而是使用'feed'方法,该方法在2.0中已弃用但仍然有效.考虑到Facebook查看了我们的应用程序并注意到我们没有正确使用这些操作,我们认为如果我们从应用程序中删除这些故事和操作,Facebook会看到我们的共享方法有效并批准我们.错误.

我们使用了publish_actions权限以及FB.login()和FB.ui()构建了共享.Facebook拒绝了我们,因为我们的应用程序不需要publish_actions.他们建议我们使用不需要登录或权限的共享对话框.

我们删除了publish_actions权限和FB.login().当我们对此进行测试时,您仍然可以登录Facebook并执行不使用fb.login()的共享.所以我们认为这很好.它不是; Facebook的告诉我们,我们需要实现登录(),甚至认为该文件说,你不要需要它.

现在我们重新实现了login()并试图再次获得批准,但我觉得由于'feed'方法被弃用,它会被拒绝.

所以我的问题是:A)如果您有一个提供付费服务的网站,您如何允许您的用户使用较新的共享方法使用您想要的数据发布到他们的供稿?例如:"我刚刚在teamexos.com完成了Get Moving III锻炼!" 该帖子不包含图片或链接.如果必须,可以链接到teamexos.com.

B)付费网站如何提供开放图表操作和故事?他们是否有公开链接到他们的产品?这些产品是否有自己的单独页面,带有自己的开放图形标签?

facebook facebook-graph-api facebook-javascript-sdk

6
推荐指数
1
解决办法
1855
查看次数

如何使用React Native Facebook SDK GraphRequest获得高质量的个人资料图片?

我正在尝试使用React Native Facebook SDK获得高分辨率图片,但默认图像质量非常差.它是50x50,分辨率非常低.

请求:

new GraphRequest('/135121013672357',
  {
    parameters: {
      fields: {
        string: 'picture'
      }
    }
  },
  _responseInfoCallback
)
Run Code Online (Sandbox Code Playgroud)

响应

{
  "picture": {
    "data": {
      "is_silhouette": false,
      "url": "https://scontent.xx.fbcdn.net/v/t1.0-1/p50x50/16864988_145199975997794_4154735936748679550_n.jpg?oh=bb5f32ecb73dd9b8fb8ac45920e2ffc5&oe=593223A8"
    }
  },
  "id": "135121013672357"
}
Run Code Online (Sandbox Code Playgroud)

查看Facebook的Graph API文档,有一个参数"type",可以请求特定大小(小,中,大).然而,不清楚的是如何格式化该请求.

picture?type=large // Error

picture{type:large} // 200 However, picture is omitted from Response
Run Code Online (Sandbox Code Playgroud)

javascript facebook facebook-graph-api facebook-javascript-sdk react-native

6
推荐指数
2
解决办法
3855
查看次数