微信、微博、Facebook、Twitter等社交媒体分享方案探索

2023-11-04

一、Web方式:

新浪微博:

http://service.weibo.com/share/share.php?

count=表示是否显示当前页面被分享数量(1显示)(可选,允许为空)

&url=将页面地址转成短域名,并显示在内容文字后面。(可选,允许为空)

&appkey=用于发布微博的来源显示,为空则分享的内容来源会显示来自互联网。(可选,需要注册新浪开发appkey)

&title=分享时所示的文字内容,为空则自动抓取分享页面的title值(可选,允许为空)

&pic=自定义图片地址(可选,允许为空,多个地址用||分隔)

&ralateUid=转发时会@相关的微博账号(可选,允许为空)

&language=语言设置(zh_cn|zh_tw)(可选)

QQ空间:(http://connect.qq.com/intro/share/)

http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?

url=分享的网址

&desc=默认分享理由(可选)

&summary=分享摘要(可选)

&title=分享标题(可选)

&site=分享来源 如:腾讯网(可选)

&pics=分享图片的路径(可选)

QQ分享给朋友:(http://connect.qq.com/intro/share/)

http://connect.qq.com/widget/shareqq/index.html?

url=取URL,可加上来自分享到QQ标识,方便统计

&desc=分享理由(风格应模拟用户对话),支持多分享语随机展现(使用|分隔)

&title=分享标题(可选)

&summary=分享摘要(可选)

&pics=分享图片(可选)

&flash=视频地址(可选)

&site=分享来源(可选) 如:QQ分享

Facebook:(http://ogp.me/)

https://www.facebook.com/sharer/sharer.php?

u:分享的url

Twitter:(https://dev.twitter.com/web/tweet-button/web-intent)

https://twitter.com/intent/tweet?

url : 分享的URL

text : 描述内容

hashtags: 用逗号分隔的标签集

related:@用户

via:关联账户

Google+:

https://plus.google.com/share?

url : 分享的URL


二、Intent方式:

 

分享图片+文字

分享文字

Facebook

仅图片成功

不成功

Twitter

OK

OK

Google+

OK

OK

Weibo

OK

OK

Webchat朋友圈

图片显示缩略图,文字失败

不支持

Webchat朋友

未显示缩略图,文字分享后不可见

OK

QQ空间

OK

OK

QQ分享给朋友

仅图片成功

OK


初步结论:

  1. Webchat只能通过嵌入sdk方式实现(只使用分享到朋友圈混淆压缩后size增加12k)

  2. Google+、Twitter、Weibo、Qzone安装了app时可通过intent方式实现,未安装app时可通过web share url方式实现。

  3. Facebook需要通过web share url实现

  4. Facebook、Twitter、Google+ web share url方式需要网页插入特定meta tag才能实现自动抓取内容显示缩略效果

  5. 具体实现请参照master base下ShareHelper

TODO:

  1. Google+ intent分享时因为存在多个可处理intent的component需要制定component class

  2. Facebook、WebChat以及Weibo web share url方式需要申请开发者账号

          Facebook:https://developers.facebook.com/

          Webchat:https://open.weixin.qq.com/

          Weibo:http://open.weibo.com/

     3.Web Social Graph Meta Tags:参照http://t.cn/RZ1khUw (内含网址检验工具)

<!-- common tag  (google+)-->

<meta property="og:title" content="Google+ title"/>

<meta property="og:url" content="http://www.uc.cn"/>

<meta property="og:image" content="http://www.android.com/tile-1.jpg"/>

<meta property="og:description" content="www.android.com..."/>

<meta property="og:site_name" content="IMDb"/>

Google+ Url Debugger:

http://www.google.com.hk/webmasters/tools/richsnippets?gws_rd=cr

<!-- Facebook -->

<meta property="fb:admins" content="579622216,709634581">

<meta property="fb:app_id" content="1389892087910588">         需要注册开发APP id

<meta property="article:author" content="http://www.uc.cn">

<meta property="article:publisher" content="http://www.uc.cn">

          FB Url Debugger :https://developers.facebook.com/tools/debug/og/object/

<!-- Twitter -->

<meta name="twitter:card" content="summary" />

<meta name="twitter:site" content="@nytimesbits" />

<meta name="twitter:creator" content="@nickbilton" />

Twitter Url Debugger:https://cards-dev.twitter.com/validator


4.网页不含标准tag时,FB等会尝试自动查找页面部分属性标签如title、description、img等自行完成填充

 



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微信、微博、Facebook、Twitter等社交媒体分享方案探索 的相关文章

  • Android EditText 和 addTextChangedListener

    我目前正在将数据库管理器移植到 Android 由于性能原因 我喜欢 仅更新已修改的属性 我尝试使用 addTextChangedListener 执行此操作 以便将修改后的条目添加到列表中 但我的程序从未输入其任何方法 EditText
  • Xamarin 分步向导 Android 视图

    我想在 Xamarin c 中构建一个 android 活动 用于逐步注册和 或信息 我怎样才能做这样的事情 谁能给我一个代码示例或其他东西 谢谢 基本上你需要使用一个名为 a 的元素ViewPager 并且每个页面都会不同Fragment
  • 音频流的最佳实践

    我正在编写一个应用程序来播放远程服务器的音频 我尝试了多种方法来实现流音频 但它们对我来说都不够好 这就是我尝试过的 幼稚地使用 MediaPlayer 就像是 MediaPlayer player new MediaPlayer play
  • 当我单击“完成”键时,Android OnEditorActionListener() actionId 给出 0

    我创建了一个键盘 当用户输入数字时 它会输入特定的 EditText 但是当用户单击Done关键 它没有去setOnEditorActionListener但它关闭了键盘 这是我的代码 final EditText txtQty new E
  • 写入 Android UI Automator 输出控制台

    我正在 Android UI Automator 上编写一个小包装器 通常我们可以在控制台看到测试用例的状态 我可以访问它并添加我自己的消息吗 我努力了System out println 但这没有用 有什么办法可以做到这一点吗 您可以使用
  • Play 商店中的应用描述更新

    我想更新应用程序的描述以及 Play 商店上的屏幕截图 但应用程序保持相同 即相同的版本号 我不想发布新应用程序 因为应用程序中没有任何更改 这可能吗 谷歌也会要求更新应用程序吗 您可以更新描述 也可以更改屏幕截图 您的应用程序将保持不变
  • 自动删除 Firebase 通知

    我有一个问题 我都读过让通知在 5 分钟后消失 https stackoverflow com questions 15648699 make notification disappear after 5 minutes and 几秒钟后清
  • 更改语言 Flutter 的按钮

    我正在 Flutter 中构建一个应用程序 到目前为止 我正在使用 JSON 国际化 其中应用程序的语言基于用户手机中默认的语言 它工作得很好 但我想给用户有机会在不更改手机系统语言设置的情况下更改语言 只需单击按钮 然后应用程序即可更改语
  • 在 NFC 标签扫描期间,onNewIntent() 内的intent.getAction() 为 null

    这是我第一次使用 NFC 标签 我在清单中声明了 NFC 扫描活动
  • Toast 消息消失后​​完成活动吗?

    有谁知道 是否有可能对 Toast 消息执行某些操作 在我的情况下完成活动 将被关闭 您只需创建一个Thread持续时间只要Toast显示 然后您就可以完成您的Activity public void onCreate Bundle sav
  • Jetpack Compose:制作全屏(绝对定位)组件

    我怎样才能在全屏渲染树的深处制作一个可组合的 类似于Dialog可组合作品 例如 当用户单击图像时 它会显示该图像的全屏预览 而无需更改当前路线 我可以用 CSS 来做到这一点position absolute or position fi
  • Android - 状态栏阻止全屏

    我的应用程序启动时可以全屏正确运行 然而 在最小化然后返回应用程序后 状态栏会弹出 并将我的视图向下推一点 如何防止状态栏移动我的视图 这是我的布局
  • 双屏 Android Studio 中不显示自动补全

    我刚刚从 Eclipse 切换到 Android Studio IntelliJ 我不明白自动补全是如何工作的 我尝试了 Control Space Control Shift Space 但没有相关建议 不在 Java 文件中 也不在布局
  • 使用 Proguard 通过 Dropbox.com 库混淆 Android 应用程序

    我刚刚创建了一个需要 Dropbox com API 库的 Android 应用程序 我现在尝试在 发布 模式下构建应用程序 并希望在代码上运行混淆器以对其进行混淆 但是 每当我尝试运行 Proguard 时 都会收到以下错误 Progua
  • Android 中 Activity 之间的 3D 动画

    How to create animation between two Activity look like As Screen shot in android 搜索jazzyviewpager 这是link https github co
  • 调试android数据绑定?

    谁能告诉我如何调试或找到数据绑定生成的代码 从this https www youtube com watch v NBbeQMOcnZ0链接我发现它生成了所需的代码 我猜您正在寻找自动生成的绑定 java 文件 我也在寻找他们 最后我在这
  • Android AppWidgetManager 方法 updateAppWidget 无法设置意图、加载数据。而且它是随机发生的

    我的小部件由 2 个按钮和一个显示数据的列表视图组成 大多数时候 当调用小部件提供程序的 onUpdate 方法时 一切都会正常加载 每个人都很高兴 但是我注意到有时在调用更新方法后 小部件完全无法加载其数据 列表视图为空 所有按钮均无响应
  • Android:透明活动问题

    最近 在我们的一款生产应用程序上 透明活动已停止工作 我的意思是它变成了黑色背景而不是透明背景 当我将活动的背景颜色设置为纯色 即红色 绿色等 时 它的应用不会出现问题 该问题可能是由于迁移到 AndroidX 引起的 但我没有这方面的证据
  • 在数组列表中过滤 Filterable 不取消之前的过滤

    我看过过滤器方法文档 其中显示调用过滤器会取消所有先前未执行的过滤请求 并发布一个稍后将执行的新过滤请求 但我收到的实际回调有些不同 在我的实现中 它不会取消先前的过滤器请求并调用publishResults 最近一次搜索条件后的上一次搜索
  • 如何从DataSource.Factory获取数据

    我必须调用此方法才能获取所有人员 我根本无法修改这个方法 Query SELECT FROM PERSON TABLE ORDER BY NAME DESC abstract fun getElements DataSource Facto

随机推荐

  • SVN迁移至GIT,并附带历史提交记录

    文章目录 SVN代码同步至GIT 背景 准备工作 操作步骤 SVN代码同步至GIT 背景 近年随着信息工程的多元化发展 GIT逐渐取代SVN成为主流的版本管理工具 部门的项目代码也决定迁移至git进行管理 所以就调研了一下具体的实现方案 要
  • linux创建git仓库

    1 安装 yum install y git 2 查看 Git 版本 git version 3 查看有没有git用户 id git 没有用户创建 useradd git 设置密码 passwd git 删除密码 passwd d f gi
  • Tomcat配置远程调试端口

    1 Linxu系统 bin startup sh开始处中增加如下内容 Java代码 declare x CATALINA OPTS server Xdebug Xnoagent Djava compiler NONE Xrunjdwp tr
  • JVM系列-第10章-垃圾回收概述和相关算法

    文章目录 toc 垃圾回收概述 大厂面试题 蚂蚁金服 百度 天猫 滴滴 京东 阿里 字节跳动 什么是垃圾 为什么需要GC 早期垃圾回收 Java 垃圾回收机制 自动内存管理 应该关心哪些区域的回收 垃圾回收相关算法 标记阶段 引用计数算法
  • Python实现选择排序

    选择排序简介 选择排序 Selection sort 是一种简单直观的排序算法 简单来说就是从无序队列里面挑选最小的元素 和无序队列头部元素替换 放到有序队列中 最终全部元素形成一个有序的队列 选择排序原理 首先在未排序序列中找到最小 大
  • tomcat的启动流程及原理

    组件介绍 Tomcat 最重要的是两个组件是 Connector 连接器 和 Container 容器 集装箱 Connector 组件是可以被替换 这样可以提供给服务器设计者更多的选择 因为这个组件是如此重要 不仅跟服务器的设计的本身 而
  • 当我遵循了这 16 条规范写代码,同事只对我说了三个字: 666

    作者 涛姐涛哥 链接 cnblogs com taojietaoge p 11575376 html 如何更规范化编写Java 代码 Many of the happiest people are those who own the lea
  • CTFshow 信息收集 web18

    根据提示 不要着急 休息 休息一会儿 玩101分给你flag 打开是一个小游戏 要么玩到101分 要么直接作弊 查看源代码 发现js文件 里面发现有个score 0 只要它为101就应该能得到flag了吧 ctrl F搜索score在最底下
  • vue 报错error: 'ev' is defined but never used (no-unused-vars)

    我要做的是用vue在网页上显示一个button 报错信息 修改 没有在components中调用
  • MyBatis-plus 提示 Data truncation: Out of range value for column ‘id‘ at row 1

    记录一下MyBatis plus 提示的错误信息 Error updating database Cause com mysql cj jdbc exceptions MysqlDataTruncation Data truncation
  • Tcpdump命令详解

    目录 一 tcpdump作用 二 tcpdump命令选项和捕获主机到主机的数据包 2 1 命令选项 2 2 tcpdump表达式 关于数据类型的关键字 数据传输方向的关键字 协议关键字 其他关键字 2 3 tcpdump捕获方式 编辑 一
  • 概率论与数理统计 (二)计算题和应用题

    概率论一些知识 https blog csdn net zuoyonggang123 article details 79110916 utm medium distribute pc relevant none task blog OPE
  • 写函数,判断用户传入的参数(字符串、列表、元组)长度是否大于5

    def estimateLength data if len data gt 5 print 该参数长度大于5 else print 该参数长度不大于5 str xiao ran list 12 34 56 78 90 tuple 小灰灰
  • 【算法】高精度算法:加减乘除(全)

    看的视频在这里 题目 加法 减法 乘法 除法 高 低 加法 思想 用数组模拟高精度 算法核心 c i a i b i c i 1 c i 10 c i c i 10 注意 是c i a i b i 是累加 例题 求a b a b范围都 lt
  • 学前STEM课堂的3个入口

    在STEM活动开始前 教师要以观察性问题来吸引幼儿的注意力 引导幼儿关注 是什么 的问题 进而促使幼儿与教师开始对话和一起探索 格物斯坦小坦克带大家一起看看学前stem课堂的3个入口 是什么 的问题关注的是正发生于幼儿眼前的事情 即幼儿所注
  • 通过GetVersionEx和ntoskrnl.exe获取操作系统版本号

    include
  • selenium启动Chrome配置参数问题

    每次当selenium启动chrome浏览器的时候 chrome浏览器很干净 没有插件 没有收藏 没有历史记录 这是因为selenium在启动chrome时为了保证最快的运行效率 启动了一个裸浏览器 这就是为什么需要配置参数的原因 但是有些
  • PageHelper原理深度剖析(集成+源码)

    相信大家在开发过程中都用到过数据分页吧 那么问题来了 说出你平时用到的几种分页方式吧 而我在平时的工作中用到最多的应该属PageHelper这个分页插件了 此处附上官网地址 https pagehelper github io 首先我们来说
  • 自定义结构-Tab切换

    自定义结构 Tab切换 前言 在搭建页面的时候 可能会需要多块区域进行tab切换 这时候需要规范化封装一个结构 只需要一段js 可重复且多处使用 1 tab样式 2 js代码 function hover change on mouseen
  • 微信、微博、Facebook、Twitter等社交媒体分享方案探索

    一 Web方式 新浪微博 http service weibo com share share php count 表示是否显示当前页面被分享数量 1显示 可选 允许为空 url 将页面地址转成短域名 并显示在内容文字后面 可选 允许为空