上传base64图像facebook graph api 如何使用这个脚本

2023-12-01

上传 Base64 图像 Facebook Graph API我想使用附加链接的这个脚本,如何在我的 WordPress 帖子中使用它? 我想用它作为 Facebook 封面照片网站。


看看我从各种示例中拼凑而成的代码 - 您可以使用它将纯 base64 字符串发布到 Facebook API - 无需服务器端处理。

这是一个演示:http://rocky-plains-2911.herokuapp.com/

此 JavaScript 处理 HTML5 Canvas 元素到 base64 的转换,并使用 Facebook API 发布图像字符串

<script type = "text/javascript">
// Post a BASE64 Encoded PNG Image to facebook
function PostImageToFacebook(authToken) {
var canvas = document.getElementById("c");
var imageData = canvas.toDataURL("image/png");
try {
    blob = dataURItoBlob(imageData);
} catch (e) {
    console.log(e);
}
var fd = new FormData();
fd.append("access_token", authToken);
fd.append("source", blob);
fd.append("message", "Photo Text");
try {
    $.ajax({
        url: "https://graph.facebook.com/me/photos?access_token=" + authToken,
        type: "POST",
        data: fd,
        processData: false,
        contentType: false,
        cache: false,
        success: function (data) {
            console.log("success " + data);
            $("#poster").html("Posted Canvas Successfully");
        },
        error: function (shr, status, data) {
            console.log("error " + data + " Status " + shr.status);
        },
        complete: function () {
            console.log("Posted to facebook");
        }
    });

} catch (e) {
    console.log(e);
}
}

// Convert a data URI to blob
function dataURItoBlob(dataURI) {
var byteString = atob(dataURI.split(',')[1]);
var ab = new ArrayBuffer(byteString.length);
var ia = new Uint8Array(ab);
for (var i = 0; i < byteString.length; i++) {
    ia[i] = byteString.charCodeAt(i);
}
return new Blob([ab], {
    type: 'image/png'
});
}
</script>

这处理 Facebook 身份验证并显示基本 HTML 设置

 <script type="text/javascript">
    $(document).ready(function () {
        $.ajaxSetup({
            cache: true
        });
        $.getScript('//connect.facebook.net/en_UK/all.js', function () {
            // Load the APP / SDK
            FB.init({
                appId: '288585397909199', // App ID from the App Dashboard
                cookie: true, // set sessions cookies to allow your server to access the session?
                xfbml: true, // parse XFBML tags on this page?
                frictionlessRequests: true,
                oauth: true
            });

            FB.login(function (response) {
                if (response.authResponse) {
                    window.authToken = response.authResponse.accessToken;
                } else {

                }
            }, {
                scope: 'publish_actions,publish_stream'
            });

        });

        // Populate the canvas
        var c = document.getElementById("c");
        var ctx = c.getContext("2d");

        ctx.font = "20px Georgia";
        ctx.fillText("This will be posted to Facebook as an image", 10, 50);

    });
</script>
<div id="fb-root"></div>
<canvas id="c" width="500" height="500"></canvas>
<a id="poster" href="#" onclick="PostImageToFacebook(window.authToken)">Post Canvas Image To Facebook</a>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

上传base64图像facebook graph api 如何使用这个脚本 的相关文章

随机推荐

  • 在 yii 中使用 url 管理器将 url 更改为 seo 友好

    我如何将这些 URL 转换为 SEO 友好的 URL 我在 yii 中尝试了 Url manager 但没有得到正确的结果是否有关于 url manager 的好的教程 http localhost nbnd search city cit
  • 如何自动关闭PostgreSQL中的空闲连接?

    一些客户端连接到我们的 postgresql 数据库 但保持连接打开 是否可以告诉 Postgresql 在一定时间不活动后关闭这些连接 TL DR 如果您使用的是 Postgresql 版本 gt 9 2然后使用我想出的解决方案 如果你不
  • ASP.NET WebForms + Postback 然后打开弹出窗口

    我有一个 LinkBut ton 它必须回发才能执行某些逻辑 完成后 我不想在浏览器中加载页面 而是想保留它并弹出一个新窗口 到目前为止 我最好的想法是将 LinkBut ton 放入 UpdatePanel 中 并让它在重新加载时呈现一些
  • 使用 Gson 反序列化泛型集合

    我在使用 GSon 进行 json 反序列化时遇到一些困难 我希望有人可以帮助我 我想反序列化以下 json 片段 fieldA valueA myCollection AnotherClass objectAfieldA valueB o
  • 从 TCL 中的过程返回数组

    我想从过程中传递数组并返回数组 以下是我尝试的示例代码 但出现一些错误 set a 0 11 set a 1 10 set a 2 20 set a 3 30 set a 4 40 proc deleten somet upvar some
  • 如何使用批处理搜索和替换区分大小写的字符串

    我想搜索并替换区分大小写的字符串 就像如果我在文本文件中有rise Rise RISE 我只想替换字符串 rise 下面的代码是替换所有三个字符串 请帮助我 Echo on SETLOCAL ENABLEEXTENSIONS SETLOCA
  • Android:如何追踪 InflateException 的来源?

    启动我的应用程序时 我在 Logcat 中收到以下警告 04 09 10 28 17 830 WARN WindowManager 52 Exception when adding starting window 04 09 10 28 1
  • IP地址正则表达式Python

    我遇到正则表达式问题 我需要最有效的正则表达式 匹配 IP 地址且仅在 255 范围内 我试过这个 ip pattern d 1 3 d 1 3 d 1 3 d 1 3 但它确实匹配超过 255 的偶数 例如 321 222 11 4 这应
  • tsc 未被识别为内部或外部命令

    我在 Windows7 上使用节点版本 6 9 2 和 npm 版本 5 4 2 我已经使用命令安装了打字稿npm install typescript g 但是 当我使用命令运行演示文件时 tsc 我收到错误 tsc is not rec
  • 绕过浏览文件/上传文件对话框

    我正在构建一个供内部使用的 Chrome 扩展程序 第一步 用户可以上传文件 这是always同一个文件 我想跳过浏览对话框并直接为输入字段分配正确的值 该文件与插件代码分开 这可以通过 Javascript 实现 或者开发 Chrome
  • HTML5 缓存清单:将所有远程资源列入白名单?

    我正在制作一个包含博客的 iPhone 版桌面网站 该博客经常嵌入来自其他域的图像 显然 在这种情况下 图像 URL 始终以 http 开头 但由于我使用的是缓存清单 因此不会加载这些图像 因为它们未在清单文件 我有一个网络 白名单部分 其
  • 批处理文件:在for循环中转义问号

    这个 for 循环 简化的最小示例 echo off for a in help help help help do echo a 用 扼住 2 个元素特点 它输出 C Temp gt test bat help help help hel
  • 如何使 UICollectionView 单元格水平居中?

    我做了一些研究 但我找不到任何关于如何将 UICollectionView 中的单元格水平居中的代码示例 而不是第一个单元格是这样的X00 我希望它是这样的0X0 有什么办法可以做到这一点吗 EDIT 可视化我想要的东西 当 Collect
  • 如何将我的 Swift 代码转换回 2.3

    我下载了 XCode Beta 8 并将所有 swift 代码从 Swift 2 3 转换为 Swift 3 它给我带来了太多问题 并导致我开始了一个我已经工作了大约 4 个月的项目 如何将我的代码从 Swift 3 转换回 Swift 2
  • 方括号在 C 中如何工作?

    我刚刚开始学习 C 我正在尝试了解基础知识 很多教程会告诉你一些事情 让你相信它 而无需任何真正的解释 而且我找不到人类可读的答案 在下面的 include
  • C# 中按特定精度向下舍入

    我怎样才能舍入double由特定的precision 我需要一个函数来获取double并返回最接近该 double 的值 该值是该特定的倍数precision并且低于两倍 例如 如果精度 2 5 9 3 gt 7 5 12 5 gt 12
  • 使用 NameValueCollection 的 WCF 序列化问题

    我正在尝试通过 WCF 序列化 NameValueCollection 我不断收到异常告诉我添加一种又一种类型 添加它们后 我终于得到了 类型 System Object 无法添加到已知类型列表 因为另一个类型 System Collect
  • 为什么 JavaScript 中的函数是对象?

    请向我解释一下为什么函数是 javascript 中的对象 对象是具有属性的结构 属性的值可以是一个函数 我们称这个属性为方法 但我们不能执行一个对象 我们不能这样做 var cat name Murzik age 17 cat 但我们可以
  • Swift 3 - 准备 Segue

    我的故事板中有 3 个场景 我的初始视图控制器是一个导航控制器 然后根视图控制器与 UI ViewController 视图控制器 a 有一个关系 然后我有一个从 ViewController 中的按钮到第三个 ViewController
  • 上传base64图像facebook graph api 如何使用这个脚本

    上传 Base64 图像 Facebook Graph API我想使用附加链接的这个脚本 如何在我的 WordPress 帖子中使用它 我想用它作为 Facebook 封面照片网站 看看我从各种示例中拼凑而成的代码 您可以使用它将纯 bas