标签: facebook-javascript-sdk

如何在我的网站上添加Facebook分享按钮?

我有这个代码,假设工作,但不起作用.如果这对你有帮助,那就太好了.

<script src='http://connect.facebook.net/en_US/all.js'></script>
    <p><a onclick='postToFeed(); return false;'><img src="images/fb.png" /></a></p>
    <p id='msg'></p>

    <script> 
      FB.init({appId: "338334836292077", status: true, cookie: 

true});

      function postToFeed() {

        // calling the API ...
        var obj = {
          method: 'feed',
          redirect_uri:'https://www.facebook.com/cryswashington?fref=ts',
          link:'https://developers.facebook.com/docs/reference/dialogs/',
          picture: 'http://fbrell.com/f8.jpg',
          name: 'Facebook Dialogs',
          caption: 'Reference Documentation',
          description: 'Using Dialogs to interact with users.'
        };

        function callback(response) {

        document.getElementById('msg').innerHTML = "Post ID: " + response['post_id'];
        }

        FB.ui(obj, callback);
      }

    </script>
Run Code Online (Sandbox Code Playgroud)

我想在我的网站上添加facebook分享按钮,这应该只是将我的网站内容发布在墙上.谁想分享它.

我研究了很多但没有得到任何东西.请帮助我.

提前致谢.

javascript share facebook facebook-javascript-sdk facebook-social-plugins

86
推荐指数
4
解决办法
31万
查看次数

Facebook API错误191

我正在尝试将我的项目与Facebook整合.我一开始就采取了婴儿步骤,只是尝试登录,获得Facebook会话,并获得一些用户数据.我正在本地开发它,所以我的Facebook应用程序设置是:

site URL: http://127.0.0.1:8888/mySite/
Run Code Online (Sandbox Code Playgroud)

画布URL与上面相同.我没有指定网站域名.

但是,当我点击登录按钮时,我收到一个错误:

API Error Code: 191
API Error Description: The specified URL is not owned by the application
Error Message: redirect_uri is not owned by the application.
Run Code Online (Sandbox Code Playgroud)

目前我还没有编写任何服务器端代码来处理重定向等.我所做的就是根据Facebook网站上的教程添加JavaScript SDK .

我做错了什么?这显然与我的Facebook应用程序设置有关,但我看不到什么!

facebook facebook-javascript-sdk

76
推荐指数
3
解决办法
11万
查看次数

应用程序配置不允许使用URL

我在我的html页面中使用过这个...

<script>     
window.fbAsyncInit = function() {
    // init the FB JS SDK
    FB.init({
      appId      : 'xxxxxxxxxxxxxx', // App ID from the App Dashboard
      status     : true, // check the login status upon init?
      cookie     : true, // set sessions cookies to allow your server to access the session?
      xfbml      : true  // parse XFBML tags on this page?
    });

    // Additional initialization code such as adding Event Listeners goes here
};

// Load the SDK's source Asynchronously
// Note that …
Run Code Online (Sandbox Code Playgroud)

configuration facebook-javascript-sdk facebook-social-plugins

61
推荐指数
4
解决办法
13万
查看次数

如何从javascript SDK中的FB.login方法获取访问令牌

我需要从FB.loginJavascript SDK中的方法获取访问令牌.我的登录代码是

FB.login(function(response) {
    if (response.session) {
        if (response.perms) {

        } else {
            // user is logged in, but did not grant any permissions
            alert("No Permission..");
        }
    } else {
        // user is not logged in
        alert("Please login to facebook");
    }
}, {perms:'read_stream,publish_stream,offline_access'});
Run Code Online (Sandbox Code Playgroud)

有没有办法获得访问令牌?我可以使用获取访问令牌PHP.

提前致谢....

facebook facebook-javascript-sdk

56
推荐指数
3
解决办法
12万
查看次数

javascript - chrome违规:[Violation] Handler花了83ms的运行时间

我正在尝试在我的项目中实现Facebook的注销功能.登录工作正常.但我正面临着使用注销代码在JavaScript控制台中获取以下消息.

[违规]长时间运行的JavaScript任务需要318ms session.php:51 1 sdk.js:135

[Violation]处理程序运行时间为83毫秒(允许50毫秒)

我试图寻找其他类似的线程,这些解决方案对我来说没有用.我尝试删除部分代码,看看哪个部分有问题.很明显,由于Facebook的JS SDK导致错误,如消息中所示.我还停用了所有Chrome扩展程序.

代码在Firefox中运行良好,在Chrome和Opera中都不行.我有什么方法可以延长这个超时时间吗?或者在chrome中解决此问题的任何其他方法.这是我的注销代码.

<?php
    session_start();
    //echo $_SESSION["current_user"];
    //echo $_COOKIE["current_user"];
    session_destroy();
    unset($_COOKIE["current_user"]);
    setcookie("current_user","",time() -3600, "/","", 0);
    //header("location: login.php");
?>

<!doctype html>

<html>
<head>
</head>
<body>

<script>

    // Default settings
    window.fbAsyncInit = function() {
        FB.init({
            appId      : '<app-id>',
            cookie     : true,
            xfbml      : true,
            version    : 'v2.8'
        });
        FB.AppEvents.logPageView();   
    };

    (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/en_US/sdk.js";
        fjs.parentNode.insertBefore(js, fjs); …
Run Code Online (Sandbox Code Playgroud)

javascript google-chrome facebook-javascript-sdk

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

FB init函数提供错误的版本错误

我正在使用Facebook JS sdk,我今天创建了一个新的应用程序.一切都配置正确.使用init函数,如:

window.fbAsyncInit = function() {
    FB.init({
      appId      : 'xxxx', // App ID
      status     : false, 
      version:  'v2.0',
      cookie     : true, 
      xfbml      : false  // parse XFBML
    });
};

    (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/pl_PL/sdk.js";
         fjs.parentNode.insertBefore(js, fjs);
       }(document, 'script', 'facebook-jssdk'));
Run Code Online (Sandbox Code Playgroud)

但我有一个错误:"未捕获错误:init没有调用有效版本"正在尝试其他版本,如:2.1,2.2仍然没有运气.我在这做错了什么?

javascript facebook-javascript-sdk

50
推荐指数
5
解决办法
5万
查看次数

指定的版本无效,facebook共享插件错误

我想为我正在使用的网络应用程序使用facebook共享插件,我只需要基本的共享按钮.该应用程序使用requirejs来加载javascript,所以我按照操作方法将facebook api url更改为在facebook docs上的代码片段中找到的那个.这不起作用,并且sdk抛出错误invalid version specified.这就是我的文件的样子.

main.js

require.config({
  shim: {
    'facebookshare' : {
      exports: 'FB'
    }
  },
  paths: {
    'facebookshare':  "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.0"
 }
});
require(['fb']);
Run Code Online (Sandbox Code Playgroud)

fb.js

define(['facebookshare'], function(facebook) {
   document.body.innerHTML += '<div class="fb-share-button" data-href="https://developers.facebook.com/docs/plugins/" data-layout="button"></div>';
});
Run Code Online (Sandbox Code Playgroud)

仅包含facebook共享插件和requirejs的最佳方法是什么?

我提到了以下问题,但没有一个提供具体的解决方案.未捕获的错误:未指定版本版本错误.

javascript facebook requirejs facebook-javascript-sdk

48
推荐指数
3
解决办法
5万
查看次数

使用"share_open_graph"Facebook UI为测验结果创建动态共享对话框

简介:我的问题是通过share_open_graph方法获取FB.ui,以根据用户在页面上的操作创建包含不同标题,描述和图片的自定义共享对话框.

问题是我的第一个,我没有声誉,所以删除了很多链接,但(感谢所有给我支持的人)我已经能够拯救最初缺失的截图.


编辑:我最后不得不使用常规弹出窗口,其中有一个共享对话框,它不是理想的,但至少它可靠地工作.我越是环顾网络,越发现许多备受瞩目的网站仍然使用像这样的弹出式共享,所以我认为在这种情况下使用传统解决方案的优势超过了寻找合适解决方案的广泛工作,我用过https://developers.facebook.com/docs/sharing/reference/feed-dialog/v2.2,通过URL查询提供的动态详细信息至少比我最初使用的sharer.php用法更新一些看着Buzzfeed.


我的页面:

我有一个测验.十个问题,每个问题五个答案,产生一个结果,将五个选项之一指定为"结果".测验的一切都很棒.当通过Ajax/jQuery完成测验时,结果会被拉入 - 这样我将来可以为其他人构建一个基于PHP的前端来管理测验的创建. 虽然我很乐意在下面的代码中提供页面URL,但很抱歉 - 在我解决此问题之前,我无法公开发布,因此您无法访问它!

我的目标:

当显示测验的结果时,它还应该具有Facebook和Twitter共享按钮,这些按钮已被定制为包括适合于用户的测验结果的图片,标题和描述.

Twitter按钮很容易动态完成

我只是使用jQuery创建一个Twitter按钮,使用与任何地方相同的HTML,我的动态描述作为data-text属性提供,然后调用twttr.widgets.load();以激活按钮.

Facebook Share按钮就是问题所在

  • 我无法添加"普通"分享按钮 - 它只需要一个属性,即URL(每个测验结果不会更改).
  • 我不能改变页面上存在的通用Open Graph标签 - 尽管jQuery可以做到这一点,Facebook的缓存意味着它毫无意义.此外,每个页面上的通用共享按钮(FB/Twitter/G +)应保持不受影响,并始终共享默认的OG标记.

所以我正在做的是创建一个链接并使用jQuery将其附加到页面,然后使用jQuery设置click触发器操作.已使用FB.init()代码块成功设置应用程序ID.这些是我为点击触发器尝试的方法:

尝试1: FB.ui({ method: "feed" })

FB.ui({
  method: 'feed',
  name: "I got "+response.country+"! Which European are you destined to date?",
  link: "http://advice.uk.match.com/quizzes/which-european-are-you-destined-date",
  picture: response.image,
  description: response.body
});
Run Code Online (Sandbox Code Playgroud)

屏幕截图显示正确的详细信息,但在旧式半工作和已弃用的Feed对话框中

基本工作 - 图片,标题和描述都与测验结果一致(在本例中为"法语") - Feed对话框不仅被弃用,而且还远远低于"共享"对话框(见下文).我想做得好.

尝试2: FB.ui({ method: "share" })

FB.ui({
  method: 'share',
  href: …
Run Code Online (Sandbox Code Playgroud)

jquery facebook facebook-graph-api facebook-javascript-sdk fb.ui

47
推荐指数
2
解决办法
3万
查看次数

Facebook JavaScript SDK over HTTPS加载非安全项目

我有一个使用Facebook Connect.js的Facebook应用程序.

我正在通过HTTPS运行我的应用程序.https://除了必须包含在Facebook中的一些内容之外,网站上的所有内容都是从中提供的Connect.js

问题是我收到警告消息,说明页面中有非安全项目.

我已经使用Chrome的开发者工具/网络选项卡检查了正在加载的脚本,以查看正在加载的文件以及从何处加载.

我能看到的唯一一个是通过HTTP加载而不是通过HTTPS加载的是一个名为的文件http://static.ak.facebook.com/connect/canvas_proxy.php.

如何强制此文件使用HTTPS?

ssl https facebook facebook-javascript-sdk

43
推荐指数
3
解决办法
2万
查看次数

Facebook Javascript SDK问题:"FB未定义"

这里的Facebook文档中复制的以下代码在Chrome中对我不起作用.

<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
  FB.init({
  appId  : 'YOUR APP ID',
  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)

在Javascript控制台中,我得到:

Uncaught ReferenceError: FB is not defined
Run Code Online (Sandbox Code Playgroud)

我在Firefox或Safari中没有任何问题,只有Chrome.

javascript facebook google-chrome facebook-javascript-sdk

39
推荐指数
4
解决办法
10万
查看次数