安卓怎么上推特和ins-威尼斯人2299

网络节点

本文主要记录海外应用第三方登录: facebook(登录/分享), twitter(登录/分享), google(登录), line(登录/分享),instagram(分享),属于记录流水账型的啦,谨希望后人少踩坑 当然这个需要科学上网,如何上网就不属于本文的讨论范围啦,如果你说点击不开官方教程,可以点击这个,输入框输入网址,就可以打开我能帮的只有这些了

twitter-登录

twitter 资源引入,官方教程 就是引入一个module,然后初始化twitter

上一步需要注册一个twitter开发者账号(先创建一个twitter账号,然后转为开发者账号),然后新建一个项目,新建项目的地址 新建项目很简单,但是项目需要配置一下,我测试时一直是com.twitter.sdk.android.core.twitterexception: request failure 就是手贱了一下,没有配置好,勾选了enable callback locking 附上正确的配置的截图

开始登录,官方教程 按照官方的登录教程来,处理好上面的坑,就可以了

登录成功就可以在回调里拿到登录成功用户的部分信息 mtwitterloginbutton.setcallback(new callback() {

@override

public void success(result result) {

string name = result.data.getusername();

long userid = result.data.getuserid();

long id = result.data.getid();

twitterauthtoken token = result.data.getauthtoken();

string secret = token.secret;

string strtoken = token.token;

d.i("slack", "success name: " name " ,userid: " userid " ,id: " id " ,secret: " secret " ,token: " strtoken);

// 如果需要获取用户的详细信息,可以使用api :get users/show

}

@override

public void failure(twitterexception exception) {

exception.printstacktrace();

d.i("slack", "failure:" exception.getmessage());

}

});

但是这里不能获取用户的详细信息,比如用户的头像,翻阅api,发现一个请求get users/show 这里可以只要传上一步获取到的参数,就可以获取用户信息啦

twitter-分享

分享还是必不可少的 官方文档

推特目测可以分享纯文字,图片,视频链接,提供两种分享方式

tweetcomposer.builder

安装了客户端,直接打开客户端

没有安装客户端,打开系统浏览器

composeractivity.builder().createintent(); 不依赖于是否安装了客户端,在应用打开一个新分享界面

推特的分享结果是已广播的形式回调的 twitter 登录(testloginclick() 是不使用提供的按钮实现的登录)和分享部分代码 /**

* created by slack

* on 17/9/26 上午11:33

* 8797威尼斯老品牌官网上 登录示例 : dev.twitter /twitterkit/android/log-in-with-twitter

* 查询用户的详细信息: developer.twitter /en/docs/accounts-and-users/follow-search-get-users/api-reference/get-users-show

* 分享: dev.twitter /twitterkit/android/compose-tweets

*/

public class twitterloginactivity extends baseoldactivity {

public void registertwitter(context context) {

twitterconfig config = new twitterconfig.builder(context)

.logger(new defaultlogger(log.debug))

.twitterauthconfig(new twitterauthconfig("ectbyyucdgulddupbk9h80qvu", "cslq80nlkmbvoqizei2ns8puhuqjhabsvxnsmubijkalohvihj"))

.debug(true)

.build();

twitter.initialize(config);

}

twitterloginbutton mtwitterloginbutton;

@override

protected void oncreate(bundle savedinstancestate) {

registertwitter(this);

this.requestwindowfeature(window.feature_no_title);

this.getwindow().setflags(

windowmanager.layoutparams.flag_fullscreen,

windowmanager.layoutparams.flag_fullscreen);

super.oncreate(savedinstancestate);

setcontentview(r.layout.acitvity_third_twitter_login);

mtwitterloginbutton = (twitterloginbutton) findviewbyid(r.id.test_login_twitter);

mtwitterloginbutton.setcallback(mtwittercallback);

}

private callback mtwittercallback = new callback() {

@override

public void success(result result) {

string name = result.data.getusername();

long userid = result.data.getuserid();

long id = result.data.getid();

twitterauthtoken token = result.data.getauthtoken();

string secret = token.secret;

string strtoken = token.token;

d.i("slack", "success name: " name " ,userid: " userid " ,id: " id " ,secret: " secret " ,token: " strtoken);

// 如果需要获取用户的详细信息,可以使用api :get users/show

}

@override

public void failure(twitterexception exception) {

exception.printstacktrace();

d.i("slack", "failure:" exception.getmessage());

}

};

@override

protected void onactivityresult(int requestcode, int resultcode, intent data) {

super.onactivityresult(requestcode, resultcode, data);

mtwitterloginbutton.onactivityresult(requestcode, resultcode, data);

if (mtwitterauthclient != null && (requestcode == mtwitterauthclient.getrequestcode())) {

mtwitterauthclient.onactivityresult(requestcode, resultcode, data);

}

}

/**

* share ,没有客户端,打开的是系统的浏览器,用户的登录session ,暂时无法传

* 不知道是不是没有客户端的缘故,无法发图片

* 图片uri : the image uri should be a uri using the content:// scheme.

*/

public void testshareclick(view view) {

url url;

try {

url = new ;

} catch (malformedurlexception e) {

e.printstacktrace();

url = null;

}

uri uri = obtainuri();

tweetcomposer.builder builder = new tweetcomposer.builder(this)

.text("this is a test");

if (uri != null) {

builder.image(uri);

}

if (url != null) {

builder.;

}

builder.show();

}

public void testshareclick2(view view) {

uri uri = obtainuri();

twittersession session = twittercore.getinstance().getsessionmanager()

.getactivesession();

composeractivity.builder builder = new composeractivity.builder(this)

.session(session)

.text("love where you work")

.hashtags("#twitter");

if(uri != null) {

builder.image(uri);

}

intent intent = builder.createintent();

startactivity(intent);

}

private uri obtainuri() {

string filepath = new file(environment.getexternalstoragedirectory(), "test.jpg").getabsolutepath();

uri muri = uri.parse("content://media/external/images/media");

uri imageuri = null;

cursor cursor = managedquery(mediastore.images.media.external_content_uri, null, null,

null, mediastore.images.media.default_sort_order);

cursor.movetofirst();

while (!cursor.isafterlast()) {

string data = cursor.getstring(cursor

.getcolumnindex(mediastore.mediacolumns.data));

if (filepath.equals(data)) {

int ringtoneid = cursor.getint(cursor

.getcolumnindex(mediastore.mediacolumns._id));

imageuri = uri.withappendedpath(muri, ""

ringtoneid);

break;

}

cursor.movetonext();

}

return imageuri;

}

public void testsessionclick(view view) {

twittersession session = twittercore.getinstance().getsessionmanager().getactivesession();

string name = session.getusername();

ins无法在安卓搜索到,已经被下架,国内已经屏蔽了ins的海外服务器连接,ins是海外公司运营,2012年4月10号,facebook宣布以10亿美元收购instagram。所以说,ins是国外的软件,并没有在国内搭建服务器供国内使用。所以会显示无法完成你的请求的网络异常,但以前的v*n通信技术因为现在的新规定,服务器都已经关闭或者ip被屏蔽,并且运营商大批量检测都已经切断了连接,不能再使用了,目前可以连接到国际网络的也只有2bss等这些。

?

ins无法在安卓搜索到,已经被下架,并且安卓下载ins需要连接到国际网络,才能连接到ins的服务器,都是这样才能完成申请账户和日常浏览。 目前国内已经屏蔽了ins的海外服务器连接,ins是海外公司运营,2012年4月10号,facebook宣布以10亿美元收购instagram。 所以说,ins是国外的软件,并没有在国内搭建服务器供国内使用。 所以会显示无法完成你的请求的网络异常,但以前的v*n通信技术因为现在的新规定,服务器都已经关闭或者ip被屏蔽,并且运营商大批量检测都已经切断了连接,不能再使用了,目前可以连接到国际网络的也只有2bss等这些。 据techinasia网站报道,facebook旗下图片分享应用instagram从中国主流安卓应用商店中神秘消失。 百度、小米、奇虎360、腾讯、91无线五大安卓应用平台已经没有了instagram的踪影,该应用最初何时被下架未知。 不过,instagram消失的现象仅局限于安卓平台。苹果中国应用商店还可以搜索到instagram。另外,一名此前下载了安卓版instagram的用户透露,这款应用还可以照常运行。 ins背景: instagram(照片墙)简称ins是一款运行在移动端上的社交应用,以一种快速、美妙和有趣的方式将你随时抓拍下的图片彼此分享。 2012年4月10号,facebook宣布以10亿美元收购instagram。2012年10月25号,facebook以总值7.15亿美元收购instagram。2012年12月,facebook旗下的图片共享服务instagram因其使用图片共享服务的新条款而在互联网上引起轩然大波,instagram对此进行了澄清,称不会在广告中使用或销售用户的照片,从而打消了用户的顾虑。北京时间2013年10月22日,诺基亚宣布instagram将会入驻windows phone市场,11月21日instagram正式登录windows phone 8平台。 2015年12月10日,苹果公司发布了2015年“app store最佳应用”名单,instagram获得“最佳iphone6s应用”。

iepl和mstp每扩容一个点,都需要专用终端设备投入,iepl专线和mstp,每扩容一个点,都需要新增点至其它所有要进行连接的点之间增加的多条pvc电路投入。 2016年12月13日,instagram的live直播功能向全美所有用户正式开放。 2018年2月,世界品牌实验室发布《2018世界品牌500强》榜单,instagram排名第362。

前言

最近给app加入三方登录,由于比较多,所以就用的友盟统一登录,会比一个一个配置方便点

正文

先说qq,微信,微博:

国内qq,微信,微博三方登录其实还行,并没有太多坑,文档也挺完善的.

但是需要注意的就是你后台配置的签名和当前的签名是否一致,然后appid和appkey是否配置正确(比如粘贴的时候多粘了一个空格)

twitter,facebook,instagram:

由于之前没有弄过twitter,facebook,instagram的三方登录,所以配置过程一波三折

首先网络畅通(最起码测试机要畅通)

然后一般app后台配置没上线时都要求用测试账号(比如申请三方后台所用的账号)

twitter:

配置完成后,需要调用

umshareapi.get(this).dooauthverify();

而下面的这个api无法使用....

umshareapi.get(this).getplatforminfo();

授权数据获取(需要accesstoken和tokensecret,但现在友盟不会直接给你)

openid 的key为:?user_id

获取accesstoken和tokensecret,如下代码(debug了半个小时才找到..)

@override

protected void onactivityresult(int requestcode, int resultcode, intent data) {

super.onactivityresult(requestcode, resultcode, data);

if (third_party_type == ids.thirdplat_twitter) {//如果是twitter

//extra_token=tk

//extra_token_secret=ts

extra_token = data.getstringextra("tk");

extra_token_secret = data.getstringextra("ts");

}

umshareapi.get(this).onactivityresult(requestcode, resultcode, data);

}

获取授权成功后要及时的移除授权,否则下一次调用授权会失败

umshareapi.get(firstloginactivity.this).deleteoauth();

facebook:

facebook还好,只需要注意测试用注册后台app的账号登录

然后?openid 的key为:?uid? ?accesstoken 的key为 access_token

instagram:(最6的登录)

这是我见过最6最有自己思想的登录 \手动滑稽? (没法在友盟上获取,得自己写)

首先先使用webview加载一段网址:

api.instagram /oauth/authorize/?client_id=你的appid&redirect_uri=你的回调地址&response_type=token

ps:回调地址我觉得可以随便传

然后获取重定向后的地址,伪代码:

webview.setwebviewclient(new webviewclient() {

@override

public boolean shouldoverrideurlloading(webview view, webresourcerequest request) {

uri url1 = request.get;

if (url1 == null)

return false;

string url = url1.tostring();

//他会给你重定向为 你的回调地址/#access_token=xxxxxxxxxxxxxxxx 重定向后的链接

if (url != null && url.indexof("你的回调地址/#access_token=") == 0) {

string accesstoken = url.replace("你的回调地址/#access_token=", "");//这样就获取到了你的access_token

}

return false;

}

});

然后就获取到了access_token

instagram三方登录参考: blog.csdn /qq_38402659/article/details/89705419

文章威尼斯人2299的版权声明:除非注明,否则均为网络节点原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
addoilapplausebadlaughbombcoffeefabulousfacepalmfecesfrownheyhainsidiouskeepfightingnoprobpigheadshockedsinistersmileslapsocialsweattolaughwatermelonwittywowyeahyellowdog
评论列表 (暂无评论,35人围观)

还没有评论,来说两句吧...

网站地图