Android Studio Facebook 第三方登录并上传360全景图片
来源:互联网 发布:中国大学生数据 编辑:程序博客网 时间:2024/05/17 05:54
本文转载加上原文链接:http://blog.csdn.net/foryou96/article/details/76853141
最近全景系列慢慢的变火了,但是博主在尝试写上传全景图片到facebook的时候并搜索不到相关的资料,官方文档和谷歌都搜索不到什么上传全景图片使用的api或者其他信息(各种全景设备的软文倒是有一大堆),所以在博主查找各种资料,奋斗了两个星期后,终于找到了一套的解决办法,现在给大家分享分享。
1.使用SDK
首先在使用facebook的官方api上传之前需要去使用facebook的sdk,在build.gradle中添加“compile ‘com.facebook.android:facebook-android-sdk:4.+’”,这样可以保证sdk是最新的,如图:
2.在facebook注册应用
到https://developers.facebook.com/登录并成为开发者,然后添加新应用,如图:
3.填写应用信息
类名是进入时候第一个启动的activity,密钥散列需要特别说明下,它是根据你的应用的签名打包之后安装才能得到的一串英文和数字,获取方法一搜一大堆,我就说一个简单的方法
- 下载链接apk并安装:下载
- 打包签名并安装你需要接入Facebook的应用
- 输入你的应用的包名,得到一串英文和数字即为密钥散列
4.配置环境和登录获取权限
在撸代码之前,其实还有2个操作,分别是:
- 配置Facebook SDK使用的环境
- Facebook登录并获取到对应的权限
这个可以按照Facebook官方的文档提示来:在AndroidManifest.xml添加配置
配置好后可以选择用Facebook提供的集成的登录按钮登录(官方集成按钮文档),也可以自己写登录代码实现登录
第三方登录流程:
首先要初始化Facebook工具
然后写管理回调器和登录的代码
记得要写facebookCallback(登录的回调)
官方的回调很清晰,这里就不多说,贴图就好最后一定不能漏的,博主漏了这个不能登录,排查了好久才发现
到这里,就可以正常的登录并获取到发布帖子的权限了
博主还遇到过一个问题:在Facebook中还有一个叫”user_photos”的权限,博主以为发布图片需要,后来在审核的时候,Facebook客服告诉我不需要此权限就可以上传图片,所以各位就只需要申请”publish_actions”权限即可。
5.正文代码
获取到发帖的权限后,就可以上传我们的全!景!图!片!了!
直接上代码:
//全景照片Bundle封装的数据 Bundle params = new Bundle(); try { //是否是全景照片 params.putBoolean("allow_spherical_photo", true); //初始视距水平度 params.putInt("initial_view_heading_override_degrees", 0); //初始视距俯仰度 params.putInt("initial_view_pitch_override_degrees", 0); //公开等级ALL_FRIENDS,CUSTOM,EVERYONE,FRIENDS_OF_FRIENDS,SELF; params.putString("privacy", "{\"value\":\"EVERYONE\"}"); //描述 params.putString("caption", commentShare); //文件的绝对路径 params.putByteArray("source", getResource(pathShare)); } catch (IOException e) { e.printStackTrace(); } //AsyncTask异步发送数据给Facebook new GraphRequest( AccessToken.getCurrentAccessToken(), "/me/photos", params, HttpMethod.POST, new GraphRequest.Callback() { @Override public void onCompleted(GraphResponse response) { //返回的情况 Log.d("graphRequestAsyncTask", "返回的情况 response = " + response); //上传图片得到的图片信息 Log.d("getRawResponse", "上传图片得到的图片信息 getRawResponse = " + response.getRawResponse()); //获取返回的错误原因 Log.d("getError", "获取返回的错误原因 getError = " + response.getError()); } } ).executeAsync(); }
然后就等着图片上传完成,就可以到Facebook去查看刚刚上传的全景图片了。
有这个箭头指的东东就说明上传的是全景图片啦!
在最后面补上我写的一个小demo吧,这样大家看起来也就清晰很多了
上方的代码和SDK都在里面了,只需要修改一下应用的id,包名,类名就可以直接使用啦!
现在上传资源设置下载的资源分最低变成了2分了!见谅啊!
demo下载
有什么不明白的或者是不足之处大家留言就好,博主看到之后会回答和补充的。
- Android Studio Facebook 第三方登录并上传360全景图片
- Facebook android 第三方登录
- Android中FaceBook第三方登录集成
- Android FaceBook 第三方登录开发摘要
- Facebook第三方登录
- facebook第三方登录开发
- [绍棠] Facebook第三方登录
- Android 基于ShareSDK的Facebook第三方登录
- Android Facebook第三方登录方法之LoginManager
- Android 实现第三方Facebook登录的具体实现
- 第三方登录开发-Facebook
- 第三方登录开发-Facebook
- 第三方登录(Facebook) java验证
- Facebook第三方登录和分享
- FaceBook第三方登录问题处理
- FaceBook第三方登录的接入封装
- Java实现Facebook第三方登录
- 简单的faceBook第三方登录Demo
- Elasticsearch 5.x head插件安装指南 及问题
- C++内存布局(下)
- C#使用Log4net输出日志
- TWaver可视化编辑器(一)电信网管编辑器
- SparkStreaming读取kafka数据进行反序列化以及mapPartition优化实例
- Android Studio Facebook 第三方登录并上传360全景图片
- 欧拉函数概念与应用拓展
- 愿你的大数据能有点柴米油盐的味道………
- 基于zookeeper简单实现分布式锁
- API常用对象--集合类(集合框架)
- crontab使用
- git上传代码 出现 failed to push some refs to 解决方案
- Linux相关
- H