gpt4 book ai didi

javascript - 使用 Javascript 将动态内容共享到 Facebook 新闻提要的最简单方法?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:36:17 24 4
gpt4 key购买 nike

我希望我的用户能够在他们的 Facebook 动态消息中分享动态内容。没有其他 Facebook 集成(例如 Facebook 登录或其他服务器端集成),所以我希望它尽可能简单。

这是我得到的地方,但它看起来如何?这似乎可行,但我不确定我是否已考虑到所有内容。

<button id="fb-publish">Share to Facebook</button>

<script type="text/javascript">
(function() {
FB.init({
appId: MY_FACEBOOK_APP_ID, cookie: true, status: true, xfbml: true, oauth: true
});
var fbAuth = null;
var fbShare = function() {
FB.ui({
method: "feed",
display: "iframe",
link: "http://example.com/",
caption: "Example.com",
description: "Here is the text I want to share.",
picture: "http://example.com/image.png"
});
};
$("#fb-publish").click(function() {
if (!fbAuth) {
FB.login(function(response) {
if (response.authResponse) {
fbAuth = response.authResponse;
fbShare();
}
}, {scope: 'publish_stream'});
} else {
fbShare();
}
});
})();
</script>

此外,如果我想从 URL 附加图像(比 picture 字段中定义的 50x50 像素图像大),我如何仅使用 JavaScript 来实现?或者我可以吗?

最佳答案

我决定省略 authResponse 缓存并每次都调用 FB.login()。它会短暂打开一个弹出窗口,但至少不会出现用户在另一个选项卡或窗口中注销并且缓存的 authResponse 过时的情况。短暂闪烁的弹出窗口不是什么大问题,因为我不认为用户会多次共享同一个页面。

这是我的最终代码,它比原来的代码更简单:

<button id="fb-publish">Share to Facebook</button>

<script type="text/javascript">
(function() {
FB.init({
appId: MY_FACEBOOK_APP_ID, cookie: true, status: true, xfbml: true, oauth: true
});
var fbShare = function() {
FB.ui({
method: "feed",
display: "iframe",
link: "http://example.com/",
caption: "Example.com",
description: "Here is the text I want to share.",
picture: "http://example.com/image.png"
});
};
$("#fb-publish").click(function() {
FB.login(function(response) {
if (response.authResponse) {
fbShare();
}
}, {scope: 'publish_stream'});
});
})();
</script>

正如 Tolga Arican 所提到的,如果共享对话框在弹出窗口中打开对您来说没问题,您甚至不需要调用 FB.login() 并请求 publish_stream 权限;只需直接调用 FB.ui({ method: "feed"}) 就可以了:

<button id="fb-publish">Share to Facebook</button>

<script type="text/javascript">
(function() {
FB.init({
appId: MY_FACEBOOK_APP_ID, cookie: true, status: true, xfbml: true, oauth: true
});
$("#fb-publish").click(function() {
FB.ui({
method: "feed",
link: "http://example.com/",
caption: "Example.com",
description: "Here is the text I want to share.",
picture: "http://example.com/image.png"
});
});
})();
</script>

关于javascript - 使用 Javascript 将动态内容共享到 Facebook 新闻提要的最简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8292480/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com