使用新浪微博开放平台api同步微博内容至自己网站

使用新浪微博开放平台api同步微博内容至自己网站

新浪微博API研究研究:实现发布微博帐号密码登录功能

网站优化优采云 发表了文章 • 0 个评论 • 128 次浏览 • 2021-07-06 05:12 • 来自相关话题

  
新浪微博API研究研究:实现发布微博帐号密码登录功能
  Java使用新浪微博API通过账号密码登录微博的示例
  更新时间:2016年2月27日15:00:28 作者:冻鱼
  这个文章主要介绍一个Java使用新浪微博API通过账号密码登录微博的例子。一般来说,第三方app使用OAuth授权鉴权,然后跳转。介绍的账号方式更自由,有需要的朋友可以参考
  今天,我在新浪微博上发布了一个 API 研究报告。目前我们已经实现了发布微博的功能,包括带图片的微博。为安全起见,新浪微博API不提供微博账号密码登录功能。相反,它使用 OAuth 授权。用户通过浏览器访问新浪网站进行登录,登录成功后,浏览器将key和secret返回给程序。
  main.xml:
  一个登录按钮、一个输入框和一个发布按钮
  因为要接收浏览器返回的数据,所以必须在AndroidManifest.xml注册Activity时添加一个Intent-Filter。
  intent-filter 必须写成两段。如果写在一起,则不会被激活。
  简单起见,直接复制新浪示例中的OAuthConstant类:
  
package weibo4android.androidexamples;

import weibo4android.Weibo;
import weibo4android.http.AccessToken;
import weibo4android.http.RequestToken;

public class OAuthConstant {
private static Weibo weibo=null;
private static OAuthConstant instance=null;
private RequestToken requestToken;
private AccessToken accessToken;
private String token;
private String tokenSecret;
private OAuthConstant(){};
public static synchronized OAuthConstant getInstance(){
if(instance==null)
instance= new OAuthConstant();
return instance;
}
public Weibo getWeibo(){
if(weibo==null)
weibo= new Weibo();
return weibo;
}

public AccessToken getAccessToken() {
return accessToken;
}
public void setAccessToken(AccessToken accessToken) {
this.accessToken = accessToken;
this.token=accessToken.getToken();
this.tokenSecret=accessToken.getTokenSecret();
}
public RequestToken getRequestToken() {
return requestToken;
}
public void setRequestToken(RequestToken requestToken) {
this.requestToken = requestToken;
}
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
public String getTokenSecret() {
return tokenSecret;
}
public void setTokenSecret(String tokenSecret) {
this.tokenSecret = tokenSecret;
}

}
  接下来是最关键的主程序:
  
package com.pocketdigi.weibo;

import java.io.File;

import weibo4android.Weibo;
import weibo4android.WeiboException;
import weibo4android.http.AccessToken;
import weibo4android.http.RequestToken;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class Main extends Activity {
/** Called when the activity is first created. */
String key = "", secret = "";
Button login,send;
EditText status;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
System.setProperty("weibo4j.oauth.consumerKey", "3997936609");
System.setProperty("weibo4j.oauth.consumerSecret",
"8bc9e3bfd6ae8e3b2b8bda9079918950");
//设置在新浪应用开放平台申请的应用的key和secret
login=(Button)findViewById(R.id.login);
send=(Button)findViewById(R.id.send);
status=(EditText)findViewById(R.id.status);
login.setOnClickListener(new OnClickListener(){

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
login();
//登录
}});
send.setOnClickListener(new OnClickListener(){

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String text=String.valueOf(status.getText());
Weibo weibo = new Weibo();
weibo.setToken(key,secret);
try {
//weibo.updateStatus(text);
//只发文字
File f=new File("/sdcard/wallpaper/129567208597069400.jpg");
weibo.uploadStatus(text,f );
//发文字+图片,这里需要导入commons-httpclient-3.0.1.jar,自己网上下
//在实际项目上,最好放Thread里,因为按下去的时候按钮会卡
} catch (WeiboException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}});
}

@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
//启动时执行检测是否来自网页登录返回
//如果是,获取key和secret
//否则读取SharedPreferences
//若得不到key和secret,直接跳转登录
Uri uri = this.getIntent().getData();
if (uri != null) {
//如果是浏览器返回
try {
RequestToken requestToken = OAuthConstant.getInstance()
.getRequestToken();
AccessToken accessToken = requestToken.getAccessToken(uri
.getQueryParameter("oauth_verifier"));
OAuthConstant.getInstance().setAccessToken(accessToken);
// 保存
Editor sharedata = getSharedPreferences("WeiBo", 0).edit();
sharedata.putString("key", accessToken.getToken());
sharedata.putString("secret", accessToken.getTokenSecret());
sharedata.commit();
key = accessToken.getToken();
secret = accessToken.getTokenSecret();
} catch (WeiboException e) {
e.printStackTrace();
}
} else {
//如果是用户自己启动
SharedPreferences settings = getSharedPreferences("WeiBo", 0);
key = settings.getString("key", "");
secret = settings.getString("secret", "");
}
if (key.equals("") || secret.equals("")) {
Toast.makeText(this, "尚未登录", Toast.LENGTH_LONG).show();
login();
//跳转到浏览器登录

}

}
public void login(){
Weibo weibo = OAuthConstant.getInstance().getWeibo();
RequestToken requestToken;
try {
requestToken =weibo.getOAuthRequestToken("sina://weibo");
//为了避免与同类应用冲突,还是自己改下URI吧
Uri uri2 = Uri.parse(requestToken.getAuthenticationURL()+ "&from=xweibo");
OAuthConstant.getInstance().setRequestToken(requestToken);
startActivity(new Intent(Intent.ACTION_VIEW, uri2));
} catch (WeiboException e) {
e.printStackTrace();
}
}
}
  发送图片需要导入commons-httpclient-3.0.1.jar,否则启动会报错,当然weibo4android-1.2.0.jar是不可或缺 查看全部

  
新浪微博API研究研究:实现发布微博帐号密码登录功能
  Java使用新浪微博API通过账号密码登录微博的示例
  更新时间:2016年2月27日15:00:28 作者:冻鱼
  这个文章主要介绍一个Java使用新浪微博API通过账号密码登录微博的例子。一般来说,第三方app使用OAuth授权鉴权,然后跳转。介绍的账号方式更自由,有需要的朋友可以参考
  今天,我在新浪微博上发布了一个 API 研究报告。目前我们已经实现了发布微博的功能,包括带图片的微博。为安全起见,新浪微博API不提供微博账号密码登录功能。相反,它使用 OAuth 授权。用户通过浏览器访问新浪网站进行登录,登录成功后,浏览器将key和secret返回给程序。
  main.xml:
  一个登录按钮、一个输入框和一个发布按钮
  因为要接收浏览器返回的数据,所以必须在AndroidManifest.xml注册Activity时添加一个Intent-Filter。
  intent-filter 必须写成两段。如果写在一起,则不会被激活。
  简单起见,直接复制新浪示例中的OAuthConstant类:
  
package weibo4android.androidexamples;

import weibo4android.Weibo;
import weibo4android.http.AccessToken;
import weibo4android.http.RequestToken;

public class OAuthConstant {
private static Weibo weibo=null;
private static OAuthConstant instance=null;
private RequestToken requestToken;
private AccessToken accessToken;
private String token;
private String tokenSecret;
private OAuthConstant(){};
public static synchronized OAuthConstant getInstance(){
if(instance==null)
instance= new OAuthConstant();
return instance;
}
public Weibo getWeibo(){
if(weibo==null)
weibo= new Weibo();
return weibo;
}

public AccessToken getAccessToken() {
return accessToken;
}
public void setAccessToken(AccessToken accessToken) {
this.accessToken = accessToken;
this.token=accessToken.getToken();
this.tokenSecret=accessToken.getTokenSecret();
}
public RequestToken getRequestToken() {
return requestToken;
}
public void setRequestToken(RequestToken requestToken) {
this.requestToken = requestToken;
}
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
public String getTokenSecret() {
return tokenSecret;
}
public void setTokenSecret(String tokenSecret) {
this.tokenSecret = tokenSecret;
}

}
  接下来是最关键的主程序:
  
package com.pocketdigi.weibo;

import java.io.File;

import weibo4android.Weibo;
import weibo4android.WeiboException;
import weibo4android.http.AccessToken;
import weibo4android.http.RequestToken;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class Main extends Activity {
/** Called when the activity is first created. */
String key = "", secret = "";
Button login,send;
EditText status;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
System.setProperty("weibo4j.oauth.consumerKey", "3997936609");
System.setProperty("weibo4j.oauth.consumerSecret",
"8bc9e3bfd6ae8e3b2b8bda9079918950");
//设置在新浪应用开放平台申请的应用的key和secret
login=(Button)findViewById(R.id.login);
send=(Button)findViewById(R.id.send);
status=(EditText)findViewById(R.id.status);
login.setOnClickListener(new OnClickListener(){

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
login();
//登录
}});
send.setOnClickListener(new OnClickListener(){

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String text=String.valueOf(status.getText());
Weibo weibo = new Weibo();
weibo.setToken(key,secret);
try {
//weibo.updateStatus(text);
//只发文字
File f=new File("/sdcard/wallpaper/129567208597069400.jpg");
weibo.uploadStatus(text,f );
//发文字+图片,这里需要导入commons-httpclient-3.0.1.jar,自己网上下
//在实际项目上,最好放Thread里,因为按下去的时候按钮会卡
} catch (WeiboException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}});
}

@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
//启动时执行检测是否来自网页登录返回
//如果是,获取key和secret
//否则读取SharedPreferences
//若得不到key和secret,直接跳转登录
Uri uri = this.getIntent().getData();
if (uri != null) {
//如果是浏览器返回
try {
RequestToken requestToken = OAuthConstant.getInstance()
.getRequestToken();
AccessToken accessToken = requestToken.getAccessToken(uri
.getQueryParameter("oauth_verifier"));
OAuthConstant.getInstance().setAccessToken(accessToken);
// 保存
Editor sharedata = getSharedPreferences("WeiBo", 0).edit();
sharedata.putString("key", accessToken.getToken());
sharedata.putString("secret", accessToken.getTokenSecret());
sharedata.commit();
key = accessToken.getToken();
secret = accessToken.getTokenSecret();
} catch (WeiboException e) {
e.printStackTrace();
}
} else {
//如果是用户自己启动
SharedPreferences settings = getSharedPreferences("WeiBo", 0);
key = settings.getString("key", "");
secret = settings.getString("secret", "");
}
if (key.equals("") || secret.equals("")) {
Toast.makeText(this, "尚未登录", Toast.LENGTH_LONG).show();
login();
//跳转到浏览器登录

}

}
public void login(){
Weibo weibo = OAuthConstant.getInstance().getWeibo();
RequestToken requestToken;
try {
requestToken =weibo.getOAuthRequestToken("sina://weibo");
//为了避免与同类应用冲突,还是自己改下URI吧
Uri uri2 = Uri.parse(requestToken.getAuthenticationURL()+ "&from=xweibo");
OAuthConstant.getInstance().setRequestToken(requestToken);
startActivity(new Intent(Intent.ACTION_VIEW, uri2));
} catch (WeiboException e) {
e.printStackTrace();
}
}
}
  发送图片需要导入commons-httpclient-3.0.1.jar,否则启动会报错,当然weibo4android-1.2.0.jar是不可或缺

推荐融了再融,新浪微博企业级服务拓展方向

网站优化优采云 发表了文章 • 0 个评论 • 76 次浏览 • 2021-07-02 21:00 • 来自相关话题

  推荐融了再融,新浪微博企业级服务拓展方向
  使用新浪微博开放平台api同步微博内容至自己网站,或联合其他平台一起做内容的集散中心,
  个人觉得微博应该越来越成为自己的一部分,如果一定要说未来方向,可能是多形态的社交化吧,增加贴近用户场景的功能和体验,例如绑定域名,相册,评论等等。
  推荐融了再融,
  新浪微博企业级服务拓展方向之一:供应链金融
  我觉得新浪会推出企业微博,从传统媒体转型到社交媒体。还有就是为了打败搜狐新闻客户端,而不是像搜狐网一样只出社交网站。
  首先,在国内微博这种陌生人社交平台还是一片蓝海,进入门槛低,而且风险利润都比较高,对个人投资者来说好比羊毛出在羊身上。其次,为什么会推出成熟的移动互联网平台?我觉得可能是新浪内部不知道该给什么样的平台能够有长足发展,所以先把社交这一块先开发出来,等条件成熟了在做下一步的业务布局。或者说是找一个入口,商业模式方面而言现在看来跟真正的微博还有很大区别。
  最后,个人认为,新浪微博不是出来创业就完了,必须还有一些其他业务平台,所以新浪新世界的整合能力显得尤为重要。
  觉得,新浪如果能不局限于新闻客户端这种弱关系平台,能出一些比较好玩的好玩的有意思的活动,就很吸引人了,比如麻将的大佬什么的也是很有意思的。 查看全部

  推荐融了再融,新浪微博企业级服务拓展方向
  使用新浪微博开放平台api同步微博内容至自己网站,或联合其他平台一起做内容的集散中心,
  个人觉得微博应该越来越成为自己的一部分,如果一定要说未来方向,可能是多形态的社交化吧,增加贴近用户场景的功能和体验,例如绑定域名,相册,评论等等。
  推荐融了再融,
  新浪微博企业级服务拓展方向之一:供应链金融
  我觉得新浪会推出企业微博,从传统媒体转型到社交媒体。还有就是为了打败搜狐新闻客户端,而不是像搜狐网一样只出社交网站。
  首先,在国内微博这种陌生人社交平台还是一片蓝海,进入门槛低,而且风险利润都比较高,对个人投资者来说好比羊毛出在羊身上。其次,为什么会推出成熟的移动互联网平台?我觉得可能是新浪内部不知道该给什么样的平台能够有长足发展,所以先把社交这一块先开发出来,等条件成熟了在做下一步的业务布局。或者说是找一个入口,商业模式方面而言现在看来跟真正的微博还有很大区别。
  最后,个人认为,新浪微博不是出来创业就完了,必须还有一些其他业务平台,所以新浪新世界的整合能力显得尤为重要。
  觉得,新浪如果能不局限于新闻客户端这种弱关系平台,能出一些比较好玩的好玩的有意思的活动,就很吸引人了,比如麻将的大佬什么的也是很有意思的。

使用新浪微博开放平台api同步微博内容至自己网站上

网站优化优采云 发表了文章 • 0 个评论 • 94 次浏览 • 2021-07-02 01:03 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站上
  使用新浪微博开放平台api同步微博内容至自己网站上,基本不用考虑时间戳问题,
  前段时间用过聚合传送门,就是点开就是广告连接,
  支持,
  目前有一个脚本链接的用途,如果你有内容在其他网站有链接,
  我也一直有这个需求,通过这个完成。
  前段时间在招聘,周围也基本都是同样的人才,发现他们很多在职场就已经有了自己的第三方平台,比如现在在大咖岛公司上班的一个同事,他在公司里就自己搭建了一个微博服务平台,只不过用它来做工作分享的。当然我们不能没有共同话题,我也在自己搭建一个平台,然后把手头的外链直接转发到这个平台里面去,但是他有一个特别的地方,可以在这个平台中查看到所有我在前面修改的外链内容。我觉得你可以试试。
  没法同步,
  需要,不是有了微博开放平台就可以满足你全部需求。我用过国内一些第三方平台,效果都不大。而且很多账号是配置不同ip地址的,导致同一台电脑多次操作都可能因为不同ip操作而造成误操作。现在官方开放的api的安全性都是令人堪忧的。
  很多这样的平台和服务,但是大多只是专门做账号操作的。对于网站端的影响有限。如果你是要做品牌营销,还是需要第三方的安全可信度比较高的,可以看看我们团队的,做行业数据分析。安全可信度更高的。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站上
  使用新浪微博开放平台api同步微博内容至自己网站上,基本不用考虑时间戳问题,
  前段时间用过聚合传送门,就是点开就是广告连接,
  支持,
  目前有一个脚本链接的用途,如果你有内容在其他网站有链接,
  我也一直有这个需求,通过这个完成。
  前段时间在招聘,周围也基本都是同样的人才,发现他们很多在职场就已经有了自己的第三方平台,比如现在在大咖岛公司上班的一个同事,他在公司里就自己搭建了一个微博服务平台,只不过用它来做工作分享的。当然我们不能没有共同话题,我也在自己搭建一个平台,然后把手头的外链直接转发到这个平台里面去,但是他有一个特别的地方,可以在这个平台中查看到所有我在前面修改的外链内容。我觉得你可以试试。
  没法同步,
  需要,不是有了微博开放平台就可以满足你全部需求。我用过国内一些第三方平台,效果都不大。而且很多账号是配置不同ip地址的,导致同一台电脑多次操作都可能因为不同ip操作而造成误操作。现在官方开放的api的安全性都是令人堪忧的。
  很多这样的平台和服务,但是大多只是专门做账号操作的。对于网站端的影响有限。如果你是要做品牌营销,还是需要第三方的安全可信度比较高的,可以看看我们团队的,做行业数据分析。安全可信度更高的。

使用新浪微博开放平台api同步微博内容至自己网站。

网站优化优采云 发表了文章 • 0 个评论 • 124 次浏览 • 2021-07-01 06:02 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站。
  使用新浪微博开放平台api同步微博内容至自己网站。这样你只要关注你本地的新浪微博账号,用新浪发布的热门微博链接就可以同步到你的网站上。
  楼上在扯淡。注册新浪微博账号,登录即可,实在不明白私信我。
  1.获取用户id2.获取用户的实名注册信息
  我也不知道怎么回答,我们大学就有来这个。自己申请,然后保存再给别人。好吧,
  不同地区的新浪微博注册账号不同,你可以用注册时候你所在地区的手机号码注册。现在已经是电话注册了,比较方便。我有一个自己的帐号,虽然没有主动给别人发微博。
  你可以在新浪微博空间评论中留言,然后回复给他,他要怎么操作,
  这就跟另一个问题一样,得要回答。
  如果用新浪网易腾讯等其他平台账号登录,它们会有一个黄v或白v标识,你的微博可以通过这些账号再发。
  在各大微博用第三方接口。
  你可以用注册的那个新浪微博账号注册自己的网站,然后在你的微博上添加他的链接,他就能在你的网站里看到这条微博。也可以自己建个博客,在里面发,就像你在知乎上发一样。这样比较有意思。
  代理发微博这个技能学会了吗?
  你的注册信息,我看你应该是以及有自己的网站,可以再自己网站上发布。不过如果你想让别人同步这条微博,你需要确认网站接口能不能同步,因为你的微博内容也是网站分配到用户端,然后进行同步。如果只是自己发自己的微博的话,你自己开个博客也是可以的。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站。
  使用新浪微博开放平台api同步微博内容至自己网站。这样你只要关注你本地的新浪微博账号,用新浪发布的热门微博链接就可以同步到你的网站上。
  楼上在扯淡。注册新浪微博账号,登录即可,实在不明白私信我。
  1.获取用户id2.获取用户的实名注册信息
  我也不知道怎么回答,我们大学就有来这个。自己申请,然后保存再给别人。好吧,
  不同地区的新浪微博注册账号不同,你可以用注册时候你所在地区的手机号码注册。现在已经是电话注册了,比较方便。我有一个自己的帐号,虽然没有主动给别人发微博。
  你可以在新浪微博空间评论中留言,然后回复给他,他要怎么操作,
  这就跟另一个问题一样,得要回答。
  如果用新浪网易腾讯等其他平台账号登录,它们会有一个黄v或白v标识,你的微博可以通过这些账号再发。
  在各大微博用第三方接口。
  你可以用注册的那个新浪微博账号注册自己的网站,然后在你的微博上添加他的链接,他就能在你的网站里看到这条微博。也可以自己建个博客,在里面发,就像你在知乎上发一样。这样比较有意思。
  代理发微博这个技能学会了吗?
  你的注册信息,我看你应该是以及有自己的网站,可以再自己网站上发布。不过如果你想让别人同步这条微博,你需要确认网站接口能不能同步,因为你的微博内容也是网站分配到用户端,然后进行同步。如果只是自己发自己的微博的话,你自己开个博客也是可以的。

使用新浪微博开放平台api同步微博内容至自己网站可以考虑

网站优化优采云 发表了文章 • 0 个评论 • 69 次浏览 • 2021-06-29 02:01 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站可以考虑
  使用新浪微博开放平台api同步微博内容至自己网站可以考虑如下方案:1.开放平台提供的api:开放平台在搜索结果中搜索新浪微博开放平台,有很多的工具可以用来做同步微博内容至自己网站的。2.不开放平台的api:使用第三方的工具:如wap微博交换工具。如果只是取代微博的话,可以看看某些微博客工具,这种工具需要绑定个人账号,且需要知道身份才能使用。相信目前第三方工具还没有普及吧。3.超级域名内容同步工具。
  有人说了使用第三方工具和域名绑定,其实这不是事,具体可以看看这里:使用第三方工具将新浪微博网站内容同步至微博客,尤其是无法解析到ip地址或者内容链接,再用这个方法就特别好用了。
  谢邀。这个问题其实并不大。这么多第三方来工具里面比较好用的是比特大陆出的第三方工具,
  用api同步新浪微博内容至站点是目前很主流的思路,开源的工具有如:比特大陆的wiki.github.io。但这个方法只支持https,如果http地址要使用跳转。同时,如果要用基于ip的跳转,需要外网三十五要一个appid。
  我觉得你这个应该是有跨域吧,不过问题不大,这个要和站长反应,站长也没办法,最好的就是小站,小站用ajax机制解决跨域问题,要不然域名绑定完了,跳转没有跨域解决方案,域名绑定好了,做ajax机制的一定要尽可能多的跳转,我们就是这样,不然站长还要回来找工作了,估计站长不会回来找你,就算回来,如果你不能跳转,估计站长也会考虑是不是你网站不合适服务器问题,要不然可能就不回来工作了。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站可以考虑
  使用新浪微博开放平台api同步微博内容至自己网站可以考虑如下方案:1.开放平台提供的api:开放平台在搜索结果中搜索新浪微博开放平台,有很多的工具可以用来做同步微博内容至自己网站的。2.不开放平台的api:使用第三方的工具:如wap微博交换工具。如果只是取代微博的话,可以看看某些微博客工具,这种工具需要绑定个人账号,且需要知道身份才能使用。相信目前第三方工具还没有普及吧。3.超级域名内容同步工具。
  有人说了使用第三方工具和域名绑定,其实这不是事,具体可以看看这里:使用第三方工具将新浪微博网站内容同步至微博客,尤其是无法解析到ip地址或者内容链接,再用这个方法就特别好用了。
  谢邀。这个问题其实并不大。这么多第三方来工具里面比较好用的是比特大陆出的第三方工具,
  用api同步新浪微博内容至站点是目前很主流的思路,开源的工具有如:比特大陆的wiki.github.io。但这个方法只支持https,如果http地址要使用跳转。同时,如果要用基于ip的跳转,需要外网三十五要一个appid。
  我觉得你这个应该是有跨域吧,不过问题不大,这个要和站长反应,站长也没办法,最好的就是小站,小站用ajax机制解决跨域问题,要不然域名绑定完了,跳转没有跨域解决方案,域名绑定好了,做ajax机制的一定要尽可能多的跳转,我们就是这样,不然站长还要回来找工作了,估计站长不会回来找你,就算回来,如果你不能跳转,估计站长也会考虑是不是你网站不合适服务器问题,要不然可能就不回来工作了。

微博开放平台如何将网站接入新浪微博平台并申请API

网站优化优采云 发表了文章 • 0 个评论 • 92 次浏览 • 2021-06-26 05:31 • 来自相关话题

  微博开放平台如何将网站接入新浪微博平台并申请API
  微博开放平台(Weibo Open Platform)是基于微博海量用户和强大传播能力,接入第三方合作伙伴服务,为用户提供丰富应用和综合服务的开放平台。将您的服务连接到微博平台将有助于推广产品,增加网站/应用程序的流量,扩大新用户并获得收入。通过将网站接入新浪微博开放平台,我们可以轻松实现网站的微博登录、文章分享到微博、微博直播、一键关注微博等操作,扩展网站社交功能。下面我们来一步一步看一下如何将网站连接到新浪微博平台并申请API。
  1、注册一个新浪微博账号,并使用该账号登录新浪微博开放平台。账号注册和登录网站基本一致,这里不再赘述。登录后,点击微链接,您会在网页上看到“立即创建微链接”按钮。点击此按钮开始网站与微博开放平台的连接。
  
  2、点击“立即创建微连接”,会弹出一个对话框“选择你要创建的应用类型”,因为我们的博客网站是通过微博开放平台连接的,所以选择这里的“网站access”方法。
  
  3、选择“网站访问”方式,会让我们填写网站相关信息,包括网站名,网站域名,因为审核后的app会影响我们网站具有一定的监控权限,所以这里的主要目的是验证我们对网站的所有权。建议使用文件验证。我们只需要把验证文件放到网站root目录下,操作方便。
  
  4、 输入网站信息后点击“验证并添加”按钮,网页会自动跳转到“我的应用”页面,我们需要点击刚刚验证的网站进行部署微连接。
  
  5、点击应用名称进入应用管理界面,在该界面下我们可以部署应用,具体部署内容需要根据我们网站的情况来确定,当然我们也可以直接点击“提交审核”进入下一阶段,您可以稍后对具体部署内容进行更改。
  
  6、投稿审核界面,我们需要进一步完善网站信息,以便新浪微博开放平台的工作人员可以审核我们的网站。全部完成后,点击提交审核。
  
  7、理论上需要等待审核通过后才能使用,但是如果我们只需要微博登录功能,可以使用下面的“部署微连接/微博登录”选项应用控制面板中获取应用的“App Key”和“App Secret”。
  
  当然,微博开放平台的功能还不止这些。您可以自行探索更多功能。 查看全部

  微博开放平台如何将网站接入新浪微博平台并申请API
  微博开放平台(Weibo Open Platform)是基于微博海量用户和强大传播能力,接入第三方合作伙伴服务,为用户提供丰富应用和综合服务的开放平台。将您的服务连接到微博平台将有助于推广产品,增加网站/应用程序的流量,扩大新用户并获得收入。通过将网站接入新浪微博开放平台,我们可以轻松实现网站的微博登录、文章分享到微博、微博直播、一键关注微博等操作,扩展网站社交功能。下面我们来一步一步看一下如何将网站连接到新浪微博平台并申请API。
  1、注册一个新浪微博账号,并使用该账号登录新浪微博开放平台。账号注册和登录网站基本一致,这里不再赘述。登录后,点击微链接,您会在网页上看到“立即创建微链接”按钮。点击此按钮开始网站与微博开放平台的连接。
  
  2、点击“立即创建微连接”,会弹出一个对话框“选择你要创建的应用类型”,因为我们的博客网站是通过微博开放平台连接的,所以选择这里的“网站access”方法。
  
  3、选择“网站访问”方式,会让我们填写网站相关信息,包括网站名,网站域名,因为审核后的app会影响我们网站具有一定的监控权限,所以这里的主要目的是验证我们对网站的所有权。建议使用文件验证。我们只需要把验证文件放到网站root目录下,操作方便。
  
  4、 输入网站信息后点击“验证并添加”按钮,网页会自动跳转到“我的应用”页面,我们需要点击刚刚验证的网站进行部署微连接。
  
  5、点击应用名称进入应用管理界面,在该界面下我们可以部署应用,具体部署内容需要根据我们网站的情况来确定,当然我们也可以直接点击“提交审核”进入下一阶段,您可以稍后对具体部署内容进行更改。
  
  6、投稿审核界面,我们需要进一步完善网站信息,以便新浪微博开放平台的工作人员可以审核我们的网站。全部完成后,点击提交审核。
  
  7、理论上需要等待审核通过后才能使用,但是如果我们只需要微博登录功能,可以使用下面的“部署微连接/微博登录”选项应用控制面板中获取应用的“App Key”和“App Secret”。
  
  当然,微博开放平台的功能还不止这些。您可以自行探索更多功能。

如何同步日志到新浪连接插件来使用新浪微博的方法

网站优化优采云 发表了文章 • 0 个评论 • 98 次浏览 • 2021-06-24 23:05 • 来自相关话题

  如何同步日志到新浪连接插件来使用新浪微博的方法
  此功能已集成到新浪连接插件中。请直接下载Sina Connect插件,使用WordPress博客日志同步到新浪微博的功能。
  之前介绍了新浪微博的开放API以及使用新浪API的OAuth协议创建一个新浪连接插件。您可以使用新浪微博账号登录WordPress博客。今天我将介绍如何将WordPress博客日志同步到新浪微博并同步日志。去新浪微博很简单。我介绍了同步到地谷、雷侯等微博。同步到新浪微博的方法基本相同。有两个步骤:
  首先,我们创建一个函数来更新新浪微博的状态。这里我使用的是WordPress自带的WP_Http类(关于WP_HTTP的介绍,可以查看这个文章:如何在WordPress中发起HTTP请求):
  
function update_sina_t($status){
    $username = "你的新浪微博的帐号";
    $password = "你的新浪微博的密码";
    $api_url = 'http://api.t.sina.com.cn/statuses/update.json';
    $body = array( 'status' => $status,'source'=>'3279848611');
    $headers = array( 'Authorization' => 'Basic '.base64_encode("$username:$password") );
    $request = new WP_Http;
    $result = $request->request( $api_url , array( 'method' => 'POST', 'body' => $body, 'headers' => $headers ) );
}
  在上面的代码中,您需要在相应的地方输入您的新浪微博账号和密码。
  那么WordPress日志发布后的钩子就是publish_post。我们可以在执行这个动作的时候执行上面的函数来同步WordPress博客日志到新浪微博。但是在WordPress后台任何点击更新日志都会触发这个动作,所以我们需要使用自定义字段来记录日志是否已经同步到新浪微博:
  将以上两段代码复制到主题的functions.php文件中。当然你也可以直接下载这个文件(wp-sina-t.zip)上传到插件目录,然后激活。
  PS:我的新浪微博是:denisha,欢迎大家观看!
  ©我爱水煮鱼,本站推荐的主机:阿里云。国外主机推荐使用 BlueHost。 查看全部

  如何同步日志到新浪连接插件来使用新浪微博的方法
  此功能已集成到新浪连接插件中。请直接下载Sina Connect插件,使用WordPress博客日志同步到新浪微博的功能。
  之前介绍了新浪微博的开放API以及使用新浪API的OAuth协议创建一个新浪连接插件。您可以使用新浪微博账号登录WordPress博客。今天我将介绍如何将WordPress博客日志同步到新浪微博并同步日志。去新浪微博很简单。我介绍了同步到地谷、雷侯等微博。同步到新浪微博的方法基本相同。有两个步骤:
  首先,我们创建一个函数来更新新浪微博的状态。这里我使用的是WordPress自带的WP_Http类(关于WP_HTTP的介绍,可以查看这个文章:如何在WordPress中发起HTTP请求):
  
function update_sina_t($status){
    $username = "你的新浪微博的帐号";
    $password = "你的新浪微博的密码";
    $api_url = 'http://api.t.sina.com.cn/statuses/update.json';
    $body = array( 'status' => $status,'source'=>'3279848611');
    $headers = array( 'Authorization' => 'Basic '.base64_encode("$username:$password") );
    $request = new WP_Http;
    $result = $request->request( $api_url , array( 'method' => 'POST', 'body' => $body, 'headers' => $headers ) );
}
  在上面的代码中,您需要在相应的地方输入您的新浪微博账号和密码。
  那么WordPress日志发布后的钩子就是publish_post。我们可以在执行这个动作的时候执行上面的函数来同步WordPress博客日志到新浪微博。但是在WordPress后台任何点击更新日志都会触发这个动作,所以我们需要使用自定义字段来记录日志是否已经同步到新浪微博:
  将以上两段代码复制到主题的functions.php文件中。当然你也可以直接下载这个文件(wp-sina-t.zip)上传到插件目录,然后激活。
  PS:我的新浪微博是:denisha,欢迎大家观看!
  ©我爱水煮鱼,本站推荐的主机:阿里云。国外主机推荐使用 BlueHost。

PHP下通过API实现与新浪微博同步应用测试好多次

网站优化优采云 发表了文章 • 0 个评论 • 91 次浏览 • 2021-06-24 22:31 • 来自相关话题

  PHP下通过API实现与新浪微博同步应用测试好多次
  (转载)PHP下通过API与新浪微博同步
  我今天下午收到了一个新浪微博同步应用。我测试了很多次,终于成功了。说一下我的配置过程。欢迎大家访问我的新浪微博!
  首先,你必须有一个新浪微博账号。如果您没有,请注册一个,然后成为开发人员。可以点击微博或者直接输入网址:,选择我是开发者,然后选择创建应用。进去填写开发者信息。成功后,你会得到你的APPKEY和APPSECRET,复制并保存。
  然后去下载SDK文档,选择PHP语言,查看“通过OAuth认证”。这是我用的。点击下方链接下载并在本地解压。
  第三步,开始测试。将解压后的文件中的 weobodemo 文件夹复制到 test 目录下,也就是你的站点目录。您必须提前配置虚拟域名。如果不会,可以参考我的另一个文章,使用apache配置独立虚拟域名。
  在weibodemo文件夹下有一个配置文件config.php。打开它后,您将知道该怎么做。在其中写入您的 APPKEY 和 APPSECRET。在浏览器中打开这一层目录,自动运行index.php文件,就不会啰嗦了。
  这里你会发现出错了:Notice:Undefinedindex:SCRIPT_URIinD:\www\weibodemo\index.phponline13
  打开index.php,发现$_SERVER['SCRIPT_URI'],$_SERVER的参数根本没有这个SCRIPT_URI,就别管了,点击下面的链接,然后出现错误:对不起,该页面不存在!
  此时,估计很多人都会放弃,一时之间不知道该怎么办了。其实,不要把新浪微博的应用开发想的那么深,大多数人都能理解。仔细看看 index.php。您刚才点击的链接地址是由WeiboOAuth类中的getAuthorizeURL方法生成的,与下一个回调函数相关,即callback.php文件。
  由此,我们不难想到这个过程:首先获取本地配置文件config.php中的APPKEY和APPSECRET,然后肯定验证APPKEY是否合法,问我们是否授权这个应用同步更新微博,如果条件成立,则通过callback.php返回本地,我们可以在这个回调页面写微博,最后点击发布,从官方新浪微博登录,可以看到文章刚发的新闻,下面要注明“来自xxx”
  这个原理不难理解。把$_SERVER['SCRIPT_URI']改成我们的本地地址,也就是它所在目录的虚拟域名地址,这样就可以返回callback.php,这样就不会出现了。未到达页面的错误。比如:我本地虚拟郁闷,知道文件夹d:/www/,而我的weibodemo文件夹放在/www/下,那我把$_SERVER['SCRIPT_URI']改成后面的/callback.php没问题。
  这样就可以在显示“授权完成”后点击进入你的微博界面weobolist.php。进去之后惊呆了:挺粗糙的,没有风格,简单的html形式,哈哈,新浪微博程序员怎么这么懒?赶紧发个微博,测试一下,激动一下,哈哈。
  总结一下,其实很简单,一共只有6个文件:config.php是配置文件,通过index.php进入新浪微博的认证授权页面,返回回调。同意授权后进入php页面。 , 点击进入我的微博,进入微博发布列表页面weibolist.php,发布微博,就OK了。剩下的文件weibooauth.php是一个类文件,里面收录了很多上一节用到的类和函数。有兴趣的可以研究一下,不用管它。还有一件事。 DS_Stor什么都不知道,打开就是乱码,也没关系,大概没用。
  另外,提醒我注意页面的编码格式。如有乱码,请耐心调试。 查看全部

  PHP下通过API实现与新浪微博同步应用测试好多次
  (转载)PHP下通过API与新浪微博同步
  我今天下午收到了一个新浪微博同步应用。我测试了很多次,终于成功了。说一下我的配置过程。欢迎大家访问我的新浪微博!
  首先,你必须有一个新浪微博账号。如果您没有,请注册一个,然后成为开发人员。可以点击微博或者直接输入网址:,选择我是开发者,然后选择创建应用。进去填写开发者信息。成功后,你会得到你的APPKEY和APPSECRET,复制并保存。
  然后去下载SDK文档,选择PHP语言,查看“通过OAuth认证”。这是我用的。点击下方链接下载并在本地解压。
  第三步,开始测试。将解压后的文件中的 weobodemo 文件夹复制到 test 目录下,也就是你的站点目录。您必须提前配置虚拟域名。如果不会,可以参考我的另一个文章,使用apache配置独立虚拟域名。
  在weibodemo文件夹下有一个配置文件config.php。打开它后,您将知道该怎么做。在其中写入您的 APPKEY 和 APPSECRET。在浏览器中打开这一层目录,自动运行index.php文件,就不会啰嗦了。
  这里你会发现出错了:Notice:Undefinedindex:SCRIPT_URIinD:\www\weibodemo\index.phponline13
  打开index.php,发现$_SERVER['SCRIPT_URI'],$_SERVER的参数根本没有这个SCRIPT_URI,就别管了,点击下面的链接,然后出现错误:对不起,该页面不存在!
  此时,估计很多人都会放弃,一时之间不知道该怎么办了。其实,不要把新浪微博的应用开发想的那么深,大多数人都能理解。仔细看看 index.php。您刚才点击的链接地址是由WeiboOAuth类中的getAuthorizeURL方法生成的,与下一个回调函数相关,即callback.php文件。
  由此,我们不难想到这个过程:首先获取本地配置文件config.php中的APPKEY和APPSECRET,然后肯定验证APPKEY是否合法,问我们是否授权这个应用同步更新微博,如果条件成立,则通过callback.php返回本地,我们可以在这个回调页面写微博,最后点击发布,从官方新浪微博登录,可以看到文章刚发的新闻,下面要注明“来自xxx”
  这个原理不难理解。把$_SERVER['SCRIPT_URI']改成我们的本地地址,也就是它所在目录的虚拟域名地址,这样就可以返回callback.php,这样就不会出现了。未到达页面的错误。比如:我本地虚拟郁闷,知道文件夹d:/www/,而我的weibodemo文件夹放在/www/下,那我把$_SERVER['SCRIPT_URI']改成后面的/callback.php没问题。
  这样就可以在显示“授权完成”后点击进入你的微博界面weobolist.php。进去之后惊呆了:挺粗糙的,没有风格,简单的html形式,哈哈,新浪微博程序员怎么这么懒?赶紧发个微博,测试一下,激动一下,哈哈。
  总结一下,其实很简单,一共只有6个文件:config.php是配置文件,通过index.php进入新浪微博的认证授权页面,返回回调。同意授权后进入php页面。 , 点击进入我的微博,进入微博发布列表页面weibolist.php,发布微博,就OK了。剩下的文件weibooauth.php是一个类文件,里面收录了很多上一节用到的类和函数。有兴趣的可以研究一下,不用管它。还有一件事。 DS_Stor什么都不知道,打开就是乱码,也没关系,大概没用。
  另外,提醒我注意页面的编码格式。如有乱码,请耐心调试。

新浪微博API添加应用注意事项及解决办法(组图)

网站优化优采云 发表了文章 • 0 个评论 • 94 次浏览 • 2021-06-23 03:21 • 来自相关话题

  新浪微博API添加应用注意事项及解决办法(组图)
  1.开平台
  将网站的服务封装成一系列计算机可识别的数据接口,并开放给第三方开发者使用。这种行为称为openAPI,提供开放API的平台称为开放平台。
  2.开放平台示例
  微博、微信、朋友圈、QQ、QQ空间、支付宝、印象笔记、脸书、推特
  //请求
https://api.weibo.com/oauth2/a ... Dcode
//同意授权后会重定向
http://www.example.com/response&code=CODE
Apple ID:APP Stroe 上的唯一标识
Bundle ID:手机上的唯一标识
  3.新浪微博API添加应用
  注意:
  1)Bundle ID 必须与自己的应用一致
  2)Authorization 回调 URL 不能在程序中写错,必须与开放平台上的配置一致
  4.OAuth 认证
  OAuth(开放授权)是一种开放标准。
  允许第三方在用户授权的前提下访问用户在服务提供商中存储的各种信息。
  这种授权不需要用户向第三方提供用户名和密码
  以令牌的形式完成
  OAuth 允许用户向第三方提供令牌,第三方可以使用此令牌在有效期内访问特定资源。
  代码:临时令牌
  token:真实的token
  5.授权流程
  2016-05-10 15:53:48.196 0510WeiboAPI[1109:47564] urlStr:https://api.weibo.com/oauth2/a ... u.com
  输入用户名和密码后,输出如下地址
  2016-05-10 15:54:33.062 0510WeiboAPI[1109:47564] urlStr:https://api.weibo.com/oauth2/authorize
  点击授权输出如下
  2016-05-10 15:54:38.212 0510WeiboAPI[1109:47564] urlStr:https://api.weibo.com/oauth2/authorize#
2016-05-10 15:54:38.217 0510WeiboAPI[1109:47564] urlStr:https://api.weibo.com/oauth2/authorize
2016-05-10 15:54:38.281 0510WeiboAPI[1109:47564] urlStr:https://www.baidu.com/%3Fcode% ... 58eef
  6.关于解决无法完成操作
  问题描述:运行Xcode6时,代码编译成功,但无法登录模拟器,显示错误:无法完成操作。(LaunchServicesError错误0.)
  解决方案:
  方法一:点击当前模拟器,点击IOS Simulator->Reset Content and Settings...->Reset,然后模拟器会被重置,然后编译代码登录模拟器成功
  方法二:点击Xcode->Product->Clean
  方法三:在模拟器上删除当前运行的app,重新加载(长按模拟器屏幕,点击当前报错的app删除)
  方法四:修改info.plist文件中bundle的版本号
  我遇到的问题是上述方法只能暂时解决。我修改代码的时候,重新报错,然后把我项目中的Resources(也就是存放图片的包)删除了。然后重建组,但是资源包的名字不叫Resources,然后再次clean,问题解决了,我想原因可能是我的Resources和Xcode冲突了,然后Xcode无法打包app上模拟器。
  测试界面:
  statuses/home_timeline
  获取当前登录用户及以下(授权)用户的最新微博
  网址:
  https://api.weibo.com/2/status ... .json
  支持格式:JSON
  添加参数
  网址:
  https://api.weibo.com/2/status ... .json?access_token=2.00pHInVD0D4tYV2613ba9f37MtFIeB
  测试:
  1.新浪微博
  2.举一反三腾讯微博 查看全部

  新浪微博API添加应用注意事项及解决办法(组图)
  1.开平台
  将网站的服务封装成一系列计算机可识别的数据接口,并开放给第三方开发者使用。这种行为称为openAPI,提供开放API的平台称为开放平台。
  2.开放平台示例
  微博、微信、朋友圈、QQ、QQ空间、支付宝、印象笔记、脸书、推特
  //请求
https://api.weibo.com/oauth2/a ... Dcode
//同意授权后会重定向
http://www.example.com/response&code=CODE
Apple ID:APP Stroe 上的唯一标识
Bundle ID:手机上的唯一标识
  3.新浪微博API添加应用
  注意:
  1)Bundle ID 必须与自己的应用一致
  2)Authorization 回调 URL 不能在程序中写错,必须与开放平台上的配置一致
  4.OAuth 认证
  OAuth(开放授权)是一种开放标准。
  允许第三方在用户授权的前提下访问用户在服务提供商中存储的各种信息。
  这种授权不需要用户向第三方提供用户名和密码
  以令牌的形式完成
  OAuth 允许用户向第三方提供令牌,第三方可以使用此令牌在有效期内访问特定资源。
  代码:临时令牌
  token:真实的token
  5.授权流程
  2016-05-10 15:53:48.196 0510WeiboAPI[1109:47564] urlStr:https://api.weibo.com/oauth2/a ... u.com
  输入用户名和密码后,输出如下地址
  2016-05-10 15:54:33.062 0510WeiboAPI[1109:47564] urlStr:https://api.weibo.com/oauth2/authorize
  点击授权输出如下
  2016-05-10 15:54:38.212 0510WeiboAPI[1109:47564] urlStr:https://api.weibo.com/oauth2/authorize#
2016-05-10 15:54:38.217 0510WeiboAPI[1109:47564] urlStr:https://api.weibo.com/oauth2/authorize
2016-05-10 15:54:38.281 0510WeiboAPI[1109:47564] urlStr:https://www.baidu.com/%3Fcode% ... 58eef
  6.关于解决无法完成操作
  问题描述:运行Xcode6时,代码编译成功,但无法登录模拟器,显示错误:无法完成操作。(LaunchServicesError错误0.)
  解决方案:
  方法一:点击当前模拟器,点击IOS Simulator->Reset Content and Settings...->Reset,然后模拟器会被重置,然后编译代码登录模拟器成功
  方法二:点击Xcode->Product->Clean
  方法三:在模拟器上删除当前运行的app,重新加载(长按模拟器屏幕,点击当前报错的app删除)
  方法四:修改info.plist文件中bundle的版本号
  我遇到的问题是上述方法只能暂时解决。我修改代码的时候,重新报错,然后把我项目中的Resources(也就是存放图片的包)删除了。然后重建组,但是资源包的名字不叫Resources,然后再次clean,问题解决了,我想原因可能是我的Resources和Xcode冲突了,然后Xcode无法打包app上模拟器。
  测试界面:
  statuses/home_timeline
  获取当前登录用户及以下(授权)用户的最新微博
  网址:
  https://api.weibo.com/2/status ... .json
  支持格式:JSON
  添加参数
  网址:
  https://api.weibo.com/2/status ... .json?access_token=2.00pHInVD0D4tYV2613ba9f37MtFIeB
  测试:
  1.新浪微博
  2.举一反三腾讯微博

如何通过用户名/密码的方式请参考使用scribe方式

网站优化优采云 发表了文章 • 0 个评论 • 94 次浏览 • 2021-06-21 06:17 • 来自相关话题

  如何通过用户名/密码的方式请参考使用scribe方式
  注意:本文代码已过期,请勿模仿。其他方法请参考划线法。
  最近在研究新浪微博的开发api,尝试在一些客户端应用中调用相应的api发送新浪微博。经过一番尝试,终于成功了。几个重点和对应的demo发布如下,供大家理解。
  在本文中,我主要演示如何通过用户名/密码连接到新浪微博,然后阅读最新的微博信息,最后演示如何发送一个简单的微博,其他的都可以通过相应的微博访问api 处理,这里不仔细深入。
  首先要申请开发者授权,也就是要在新浪上申请。直接通过地址:用微博账号登录后,创建一个应用程序即可。创建应用的目的是获取对应的app Key和app Secret。 app key会用到后面的主要API中,方便新浪追踪请求的来源。具体流程请自行google。
  应用完成后,我们将开始我们的api之旅。在本文中,我们没有使用官方的java sdk,因为主要目的是一个简单的演示。如果是应用开发,还是可以下载对应的java sdk应用 是的,可以查看里面的例子,了解如何调用。
  本文使用httpclient。如果使用maven,可以使用groupId作为commons-httpclient,使用artifactId作为commons-httpclient将其导入到项目中。其次,为了方便对返回数据的分析,使用了一个JSON组件(fastjson)来解析json字符串。
  获取应用授权,即允许应用访问用户的相应信息(用户名和密码除外)
  由于新浪使用的是auth2.0,所以整个登录过程分为两部分。一部分是登录授权,它允许我们的应用访问指定用户的相应信息。这里的信息不包括用户名。密码。在类网页应用中,即通过弹出新浪登录框,用户输入用户名和密码,授权应用使用。新浪通过验证后,会返回到我们的应用所在的主界面。第二部分是获取对应的token,相当于用户会话,以便在后续操作中可以使用这个token进行数据访问。
  申请授权地址为:,完整代码如下:
  获取 access_token
  api 参考接口:
  整个代码如下所示:
  获取最新微博信息列表
  api 参考接口:
  代码如下:
  发送微博消息
  API 参考:
  代码如下:
  结论
  其实整个过程还是很简单的。最重要的是前两步登录和获取授​​权。这两步就成功了,剩下的就是做一个json请求,然后传参数,得到结果,然后对结果进行处理。问题是。
  值得注意的是,第二步获取access_token,官方文档中写到可以通过grant_type=password获取token信息,即输入用户名和密码。然而,这种方法需要特殊的应用。具体的申请步骤比较复杂,必须通过官方审核,非一般开发者也能做好。所以这里就不用这个了(当然,如果你用这个方法,可以把第一步和第二步合并成一)。
  相关文章: 查看全部

  如何通过用户名/密码的方式请参考使用scribe方式
  注意:本文代码已过期,请勿模仿。其他方法请参考划线法。
  最近在研究新浪微博的开发api,尝试在一些客户端应用中调用相应的api发送新浪微博。经过一番尝试,终于成功了。几个重点和对应的demo发布如下,供大家理解。
  在本文中,我主要演示如何通过用户名/密码连接到新浪微博,然后阅读最新的微博信息,最后演示如何发送一个简单的微博,其他的都可以通过相应的微博访问api 处理,这里不仔细深入。
  首先要申请开发者授权,也就是要在新浪上申请。直接通过地址:用微博账号登录后,创建一个应用程序即可。创建应用的目的是获取对应的app Key和app Secret。 app key会用到后面的主要API中,方便新浪追踪请求的来源。具体流程请自行google。
  应用完成后,我们将开始我们的api之旅。在本文中,我们没有使用官方的java sdk,因为主要目的是一个简单的演示。如果是应用开发,还是可以下载对应的java sdk应用 是的,可以查看里面的例子,了解如何调用。
  本文使用httpclient。如果使用maven,可以使用groupId作为commons-httpclient,使用artifactId作为commons-httpclient将其导入到项目中。其次,为了方便对返回数据的分析,使用了一个JSON组件(fastjson)来解析json字符串。
  获取应用授权,即允许应用访问用户的相应信息(用户名和密码除外)
  由于新浪使用的是auth2.0,所以整个登录过程分为两部分。一部分是登录授权,它允许我们的应用访问指定用户的相应信息。这里的信息不包括用户名。密码。在类网页应用中,即通过弹出新浪登录框,用户输入用户名和密码,授权应用使用。新浪通过验证后,会返回到我们的应用所在的主界面。第二部分是获取对应的token,相当于用户会话,以便在后续操作中可以使用这个token进行数据访问。
  申请授权地址为:,完整代码如下:
  获取 access_token
  api 参考接口:
  整个代码如下所示:
  获取最新微博信息列表
  api 参考接口:
  代码如下:
  发送微博消息
  API 参考:
  代码如下:
  结论
  其实整个过程还是很简单的。最重要的是前两步登录和获取授​​权。这两步就成功了,剩下的就是做一个json请求,然后传参数,得到结果,然后对结果进行处理。问题是。
  值得注意的是,第二步获取access_token,官方文档中写到可以通过grant_type=password获取token信息,即输入用户名和密码。然而,这种方法需要特殊的应用。具体的申请步骤比较复杂,必须通过官方审核,非一般开发者也能做好。所以这里就不用这个了(当然,如果你用这个方法,可以把第一步和第二步合并成一)。
  相关文章:

第三方应用授权后会通过此URL返回应用,回调URL

网站优化优采云 发表了文章 • 0 个评论 • 82 次浏览 • 2021-06-21 06:10 • 来自相关话题

  
第三方应用授权后会通过此URL返回应用,回调URL
  RequestToken requestToken =weibo.getOAuthRequestToken("weibo4android://OAuthActivity");
  ("weibo4android://OAuthActivity"为回调URL,即用户授权第三方应用后,第三方应用会通过此URL返回给第三方应用,回调URL 作为请求参数传递给服务提供者)
  (4)会引导用户进入授权页面
  Uri uri = Uri.parse(requestToken.getAuthenticationURL()+ "&display=mobile");
startActivity(new Intent(Intent.ACTION_VIEW, uri));
  (5)授权页面需要用户输入用户名和密码,授权完成后,服务商会通过回调URL将用户引导回客户端页面OAuthActivity页面。
  (6)客户端根据临时令牌和用户授权码从服务提供方获取Access Token
  Uri uri=this.getIntent().getData();
RequestToken requestToken= OAuthConstant.getInstance().getRequestToken();
AccessToken accessToken=requestToken.getAccessToken(uri.getQueryParameter("oauth_verifier"));
  uri.getQueryParameter("oauth_verifier") 为用户授权后返回的授权码
  (7)获取access token后可以使用API​​接口获取和操作用户数据
  Weibo weibo=OAuthConstant.getInstance().getWeibo();
weibo.setToken(OAuthConstant.getInstance().getToken(), OAuthConstant.getInstance().getTokenSecret());
String[] args = new String[2];
args[0]=OAuthConstant.getInstance().getToken();
args[1]=OAuthConstant.getInstance().getTokenSecret();
try {
GetFollowers.main(args);//返回用户关注对象列表,并返回最新微博文章
} catch (Exception e) {
e.printStackTrace();
} 查看全部

  
第三方应用授权后会通过此URL返回应用,回调URL
  RequestToken requestToken =weibo.getOAuthRequestToken("weibo4android://OAuthActivity");
  ("weibo4android://OAuthActivity"为回调URL,即用户授权第三方应用后,第三方应用会通过此URL返回给第三方应用,回调URL 作为请求参数传递给服务提供者)
  (4)会引导用户进入授权页面
  Uri uri = Uri.parse(requestToken.getAuthenticationURL()+ "&display=mobile");
startActivity(new Intent(Intent.ACTION_VIEW, uri));
  (5)授权页面需要用户输入用户名和密码,授权完成后,服务商会通过回调URL将用户引导回客户端页面OAuthActivity页面。
  (6)客户端根据临时令牌和用户授权码从服务提供方获取Access Token
  Uri uri=this.getIntent().getData();
RequestToken requestToken= OAuthConstant.getInstance().getRequestToken();
AccessToken accessToken=requestToken.getAccessToken(uri.getQueryParameter("oauth_verifier"));
  uri.getQueryParameter("oauth_verifier") 为用户授权后返回的授权码
  (7)获取access token后可以使用API​​接口获取和操作用户数据
  Weibo weibo=OAuthConstant.getInstance().getWeibo();
weibo.setToken(OAuthConstant.getInstance().getToken(), OAuthConstant.getInstance().getTokenSecret());
String[] args = new String[2];
args[0]=OAuthConstant.getInstance().getToken();
args[1]=OAuthConstant.getInstance().getTokenSecret();
try {
GetFollowers.main(args);//返回用户关注对象列表,并返回最新微博文章
} catch (Exception e) {
e.printStackTrace();
}

给新手的微博SDK集成教程(CocoaPods)SDK介绍

网站优化优采云 发表了文章 • 0 个评论 • 90 次浏览 • 2021-06-21 05:38 • 来自相关话题

  给新手的微博SDK集成教程(CocoaPods)SDK介绍
  微博SDK初学者集成教程 微博SDK介绍
  WeiboSDK 是新浪微博公共接口的封装。 iOS应用开发者可以使用它来访问新浪微博的API、进行登录授权、获取用户信息、获取微博列表、发布微博等。其实它是对微博API的封装,无非是向用户发送请求新浪的服务器,然后对接收到的响应进行处理(当然不止这些,它也可以和你手机上的微博客户端进行交互)。
  微博开发者帐号
  这个没什么好说的。前往微博开放平台注册。注册后,添加一个应用,填写应用信息,得到一个AppKey(这个后面会用到)。需要注意的几点如下:
  1.Bundle ID 必须和你的App一致,否则测试会报错。
  
  2.Callback 地址通常填写默认,除非您需要在自己的服务器上处理回调。
  
  3.可以将自己的微博账号添加到测试账号中,方便测试。
  SDK 集成
  可以按照微博文档中的描述手动集成(手动添加依赖源代码、文件等到项目中,手动更改编译配置等),也可以使用CocoaPods工具自动集成。
  CocoaPods
  CocoaPods 是 iOS 开发的依赖管理工具。什么是依赖?例如,如果您开发的应用程序需要微博 SDK,则您的应用程序依赖于微博 SDK。一个实际的项目可能依赖十几个或更多的第三方库。如果每个都像微博SDK手动集成那样集成,既麻烦又不利于维护。于是神器CocoaPods诞生了。简单来说,你只需要维护一个配置文件。该文件列出了您需要集成的第三方库,然后运行命令。 CocoaPods 会自动从网上下载相关文件,然后自动为你配置整个项目。
  安装 CocoaPods
  CocoaPods 是用 Ruby 编写的。 Ruby 已经默认安装在 OS X 上,所以你可以直接使用它来安装 CocoaPods。安装前需要注意。由于众所周知的原因,国内很多网站在国外访问会很慢,比如Ruby的默认源码,不过不用担心,淘宝已经做了Ruby源码的镜像,所以在安装之前,最先把Ruby的默认源改成淘宝的镜像:
  // 删除默认源
$gem sources --remove https://rubygems.org/
// 添加淘宝的 Ruby 镜像
$gem sources -a https://ruby.taobao.org/
// 查看结果
$gem sources -l
  更换成功后就可以安装CocoaPods了:
   $sudo gem install cocoapods
  参考CocoaPods安装教程,如果你的系统升级到OS X EL Capitan,使用如下命令安装:
  $sudo gem install -n /usr/local/bin cocoapods
  安装后,运行setup,耐心等待,这一步很慢:
  $pod setup
  使用 CocoaPods 集成微博 SDK
  如前所述,您只需要提供一个配置文件,CocoaPods 会将其余的交给 CocoaPods。这个配置文件就是Podfile。假设您有一个名为 WeiboDemo.xcodeproj 的项目,在与您的 WeiboDemo.xcodeproj 文件相同的目录中创建一个名为 Podfile 的新文件(或运行 pod init),使用任何文本编辑器打开该文件,然后输入内容:
  # Uncomment this line to define a global platform for your project
platform :ios, '8.0'
# Uncomment this line if you're using Swift
use_frameworks!
target 'WeiboDemo' do
pod "WeiboSDK", :git => "https://github.com/sinaweibosd ... ot%3B
end
  不要在意这个配置文件的格式。大多数时候,你只需要写 pod xxxx 之类的东西,其他的就不需要了。保存 Podfile 后,运行:
  $ pod install
  安装完成后,项目目录下会多出一个名为 WeiboDemo.xcworkspace 的文件。注意:打开项目后,不能再传原先的WeiboDemo.xcodeproj文件,需要打开WeiboDemo.xcworkspace。 CocoaPods 创建一个新的工作区,然后将你原来的项目和一个收录 CocoaPods 管理的所有第三方库的 Pods 项目添加到这个工作区。
  容易吗?如果以后需要添加其他第三方库,只需要编辑Podfile,重新运行pod install命令即可。例如,以下是我们的一个项目中使用的第三方库:
  platform :ios, '8.0'
inhibit_all_warnings!
use_frameworks!
pod 'RestKit', '~> 0.25.0'
pod 'SDWebImage', '~>3.7.2'
pod 'BlocksKit', '~>2.2.5'
pod 'pop', '~> 1.0.8'
pod 'MBProgressHUD', '~> 0.8'
pod "Qiniu", :git => 'https://github.com/KyleXie/objc-sdk.git', :branch => 'AFNetworking-1.x'
pod 'KTCenterFlowLayout'
pod 'ReactiveCocoa', '4.0.4-alpha-1'
pod 'SnapKit', '~> 0.15.0'
pod "SwiftAddressBook", '~> 0.5.0'
pod "WeiboSDK", :git => "https://github.com/sinaweibosd ... ot%3B
pod 'UICollectionViewLeftAlignedLayout'
pod 'UMengAnalytics-NO-IDFA'
pod 'Locksmith'
pod 'iRate', :git => 'https://github.com/nicklockwood/iRate.git'
pod 'TSMessages', :git => 'https://github.com/KrauseFx/TS ... 39%3B
  配置网址架构
  如前所述,微博SDK可以与您手机上的微博客户端进行交互(例如,您在应用程序中单击一个按钮后,直接跳转到微博应用程序中的微博应用程序)。发完这个页面,我又回到了微博。其他的比如跳微信发消息,跳支付宝付钱等等都是一样的。)有兴趣的可以看看应用间通讯。为此,我们需要配置项目的 URL Schemes。如下图,在项目的Info下,找到URL Types,点击下面的小+按钮,添加一个URL Type,标识符输入com.weibo,URL Schemes输入wb+AppKey(比如你的AppKey是 123 ,那么这里填 wb123)
  
  还没完成
  新浪微博的 SDK 是用 ObjC 编写的,你的项目可能已经在使用 Swift。这里需要添加一个桥接头文件,以便在Swift代码中调用ObjC代码。操作也很简单,只需要在项目中添加一个ObjC文件,Xcode会提示你添加WeiboDemo-Bridging-Header.h文件(WeiboDemo是项目名,也可以手动添加这个文件)。在 WeiboDemo-Bridging-Header.h 文件中添加:
  #import "WeiboSDK.h"
  达达!您可以在 Swift 代码中引用 WeiboSDK。
  (其实如果WeiboSDK是框架的话,直接使用Swift的导入框架就可以导入了,不需要添加桥接文件,其他很多第三方库都用这种方式。)
  先授权登录
  1. 集成微博SDK后,可以调用App中的微博客户端进行授权。在 AppDelegate.swift 文件中,添加以下代码:
  let appKey = "xxxxx" // 记得上面说过的 AppKey 吧?填在这里
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
WeiboSDK.enableDebugMode(true)
WeiboSDK.registerApp(appKey)
return true
}
  这里主要是微博SDK的初始化。打开调试模式,可以看到更多的调试信息,如果出现问题,也可以知道哪里出错了。
  2.只需在ViewController中添加一个登录授权按钮,并在按钮的点击事件中发送微博授权请求:
  @IBAction func onLoginBtn(sender: AnyObject) {
let request = WBAuthorizeRequest.request() as? WBAuthorizeRequest
request?.redirectURI = redirectURI
request?.scope = "all"

WeiboSDK.sendRequest(request)
}
  这段代码的意思是每当按钮没有被点击时,向微博SDK发送一个WBAuthorizeRequest请求。如果您的手机上安装了微博客户端,它会跳转到微博应用程序并请求授权。如果没有安装,会弹出一个网页,让您登录您的微博账号进行授权。
  3.这还不够。您仍然需要处理请求的返回结果。如果你不能发送请求,它就会结束。 WeiboSDK使用Cocoas开发中常用的delegate模式来处理请求的结果响应,也就是说你的请求发出后,响应的结果会在你设置的delegate中通知你。这个delegate就是WeiboSDKDelegate协议,所以需要有一个实现WeiboSDKDelegate协议的类。协议下声明了两个方法:
  /**
收到一个来自微博客户端程序的请求

收到微博的请求后,第三方应用应该按照请求类型进行处理,处理完后必须通过 [WeiboSDK sendResponse:] 将结果回传给微博
@param request 具体的请求对象
*/
- (void)didReceiveWeiboRequest:(WBBaseRequest *)request;
/**
收到一个来自微博客户端程序的响应

收到微博的响应后,第三方应用可以通过响应类型、响应的数据和 WBBaseResponse.userInfo 中的数据完成自己的功能
@param response 具体的响应对象
*/
- (void)didReceiveWeiboResponse:(WBBaseResponse *)response;
  第一个用于处理微博客户端发送的请求,第二个用于处理自己发送的请求的响应消息,比如我们刚刚发送的授权请求,它会是一个结果Deal在第二种方法中使用它。
  我们可以让 AppDelegate 类实现 WeiboSDKDelegate 协议。首先声明AppDelegate服从WeiboSDKDelegate:
  class AppDelegate: UIResponder, UIApplicationDelegate, WeiboSDKDelegate {
  然后在AppDelegate类中实现WeiboSDKDelegate的两个方法:
  func didReceiveWeiboRequest(request: WBBaseRequest!) {
if (request.isKindOfClass(WBProvideMessageForWeiboRequest)) {

}
}

func didReceiveWeiboResponse(response: WBBaseResponse!) {
if (response.isKindOfClass(WBAuthorizeResponse)) {
let message = "响应状态: \(response.statusCode.rawValue)\nresponse.userId: \((response as! WBAuthorizeResponse).userID)\nresponse.accessToken: \((response as! WBAuthorizeResponse).accessToken)\n响应UserInfo数据: \(response.userInfo)\n原请求UserInfo数据: \(response.requestUserInfo)"
let alert = UIAlertView(title: "认证结果", message: message, delegate: nil, cancelButtonTitle: "确定")
alert.show()
}
}
  由于本例中我们不需要处理微博发送给我们的消息,所以第一种方法为空。在第二种方法中,处理对 WBAuthorizeRequest 请求的响应 WBAuthorizeResponse。收到响应后,弹出窗口显示结果。
  其实整个过程类似于UITableView的delegate或者datasource。当你调用reloadData方法时,UITableView会去你为数据指定的datasource,显示多少行,每行多高,每行显示什么内容等,当你点击某一行时,UITableView会通知你等通过您设置的委托。
  4.真的是最后一个了!什么东西少了?对比一下UITableView,你会发现少了设置delegate这一步。如果你不把WeiboSDK的delegate设置为你指定的对象,它就不知道应该把这些消息发送给谁,就像UITableView一样。如果不设置数据源和委托,将无法正确显示结果。
  在 AppDelegate 中添加以下方法:
  func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool {
return WeiboSDK.handleOpenURL(url, delegate: self)
}
  如果你还记得前面提到的App之间的交互(URL Schemes),这个方法从名字上就可以看出它的用处,打开一个url,如果你在这个方法中打断,看看URL的值,你会发现:
  
  url是我们在URL Types中定义的,sourceApplication是com.sina.weibo,表示新浪微博App想要打开我们的App,我们将这条消息转发给WeiboSDK进行处理,并设置WeiboSDK的delegate对象AppDelegate 类(自我)。 (虽然我不知道这里怎么给毛设置delegate,而不是在初始化的时候设置)
  到此为止,当您运行应用程序时,点击“登录”按钮,跳转到微博或弹出网页进行登录,然后返回应用程序,您应该会看到如下弹出窗口:
  
  如果没有意外,则认为授权完成,获取access_token后,可以调用其他微博接口,比如获取用户信息,比如获取用户微博,比如发微博等这些将在下次分解。
  完整项目和代码见微博Demo 查看全部

  给新手的微博SDK集成教程(CocoaPods)SDK介绍
  微博SDK初学者集成教程 微博SDK介绍
  WeiboSDK 是新浪微博公共接口的封装。 iOS应用开发者可以使用它来访问新浪微博的API、进行登录授权、获取用户信息、获取微博列表、发布微博等。其实它是对微博API的封装,无非是向用户发送请求新浪的服务器,然后对接收到的响应进行处理(当然不止这些,它也可以和你手机上的微博客户端进行交互)。
  微博开发者帐号
  这个没什么好说的。前往微博开放平台注册。注册后,添加一个应用,填写应用信息,得到一个AppKey(这个后面会用到)。需要注意的几点如下:
  1.Bundle ID 必须和你的App一致,否则测试会报错。
  
  2.Callback 地址通常填写默认,除非您需要在自己的服务器上处理回调。
  
  3.可以将自己的微博账号添加到测试账号中,方便测试。
  SDK 集成
  可以按照微博文档中的描述手动集成(手动添加依赖源代码、文件等到项目中,手动更改编译配置等),也可以使用CocoaPods工具自动集成。
  CocoaPods
  CocoaPods 是 iOS 开发的依赖管理工具。什么是依赖?例如,如果您开发的应用程序需要微博 SDK,则您的应用程序依赖于微博 SDK。一个实际的项目可能依赖十几个或更多的第三方库。如果每个都像微博SDK手动集成那样集成,既麻烦又不利于维护。于是神器CocoaPods诞生了。简单来说,你只需要维护一个配置文件。该文件列出了您需要集成的第三方库,然后运行命令。 CocoaPods 会自动从网上下载相关文件,然后自动为你配置整个项目。
  安装 CocoaPods
  CocoaPods 是用 Ruby 编写的。 Ruby 已经默认安装在 OS X 上,所以你可以直接使用它来安装 CocoaPods。安装前需要注意。由于众所周知的原因,国内很多网站在国外访问会很慢,比如Ruby的默认源码,不过不用担心,淘宝已经做了Ruby源码的镜像,所以在安装之前,最先把Ruby的默认源改成淘宝的镜像:
  // 删除默认源
$gem sources --remove https://rubygems.org/
// 添加淘宝的 Ruby 镜像
$gem sources -a https://ruby.taobao.org/
// 查看结果
$gem sources -l
  更换成功后就可以安装CocoaPods了:
   $sudo gem install cocoapods
  参考CocoaPods安装教程,如果你的系统升级到OS X EL Capitan,使用如下命令安装:
  $sudo gem install -n /usr/local/bin cocoapods
  安装后,运行setup,耐心等待,这一步很慢:
  $pod setup
  使用 CocoaPods 集成微博 SDK
  如前所述,您只需要提供一个配置文件,CocoaPods 会将其余的交给 CocoaPods。这个配置文件就是Podfile。假设您有一个名为 WeiboDemo.xcodeproj 的项目,在与您的 WeiboDemo.xcodeproj 文件相同的目录中创建一个名为 Podfile 的新文件(或运行 pod init),使用任何文本编辑器打开该文件,然后输入内容:
  # Uncomment this line to define a global platform for your project
platform :ios, '8.0'
# Uncomment this line if you're using Swift
use_frameworks!
target 'WeiboDemo' do
pod "WeiboSDK", :git => "https://github.com/sinaweibosd ... ot%3B
end
  不要在意这个配置文件的格式。大多数时候,你只需要写 pod xxxx 之类的东西,其他的就不需要了。保存 Podfile 后,运行:
  $ pod install
  安装完成后,项目目录下会多出一个名为 WeiboDemo.xcworkspace 的文件。注意:打开项目后,不能再传原先的WeiboDemo.xcodeproj文件,需要打开WeiboDemo.xcworkspace。 CocoaPods 创建一个新的工作区,然后将你原来的项目和一个收录 CocoaPods 管理的所有第三方库的 Pods 项目添加到这个工作区。
  容易吗?如果以后需要添加其他第三方库,只需要编辑Podfile,重新运行pod install命令即可。例如,以下是我们的一个项目中使用的第三方库:
  platform :ios, '8.0'
inhibit_all_warnings!
use_frameworks!
pod 'RestKit', '~> 0.25.0'
pod 'SDWebImage', '~>3.7.2'
pod 'BlocksKit', '~>2.2.5'
pod 'pop', '~> 1.0.8'
pod 'MBProgressHUD', '~> 0.8'
pod "Qiniu", :git => 'https://github.com/KyleXie/objc-sdk.git', :branch => 'AFNetworking-1.x'
pod 'KTCenterFlowLayout'
pod 'ReactiveCocoa', '4.0.4-alpha-1'
pod 'SnapKit', '~> 0.15.0'
pod "SwiftAddressBook", '~> 0.5.0'
pod "WeiboSDK", :git => "https://github.com/sinaweibosd ... ot%3B
pod 'UICollectionViewLeftAlignedLayout'
pod 'UMengAnalytics-NO-IDFA'
pod 'Locksmith'
pod 'iRate', :git => 'https://github.com/nicklockwood/iRate.git'
pod 'TSMessages', :git => 'https://github.com/KrauseFx/TS ... 39%3B
  配置网址架构
  如前所述,微博SDK可以与您手机上的微博客户端进行交互(例如,您在应用程序中单击一个按钮后,直接跳转到微博应用程序中的微博应用程序)。发完这个页面,我又回到了微博。其他的比如跳微信发消息,跳支付宝付钱等等都是一样的。)有兴趣的可以看看应用间通讯。为此,我们需要配置项目的 URL Schemes。如下图,在项目的Info下,找到URL Types,点击下面的小+按钮,添加一个URL Type,标识符输入com.weibo,URL Schemes输入wb+AppKey(比如你的AppKey是 123 ,那么这里填 wb123)
  
  还没完成
  新浪微博的 SDK 是用 ObjC 编写的,你的项目可能已经在使用 Swift。这里需要添加一个桥接头文件,以便在Swift代码中调用ObjC代码。操作也很简单,只需要在项目中添加一个ObjC文件,Xcode会提示你添加WeiboDemo-Bridging-Header.h文件(WeiboDemo是项目名,也可以手动添加这个文件)。在 WeiboDemo-Bridging-Header.h 文件中添加:
  #import "WeiboSDK.h"
  达达!您可以在 Swift 代码中引用 WeiboSDK。
  (其实如果WeiboSDK是框架的话,直接使用Swift的导入框架就可以导入了,不需要添加桥接文件,其他很多第三方库都用这种方式。)
  先授权登录
  1. 集成微博SDK后,可以调用App中的微博客户端进行授权。在 AppDelegate.swift 文件中,添加以下代码:
  let appKey = "xxxxx" // 记得上面说过的 AppKey 吧?填在这里
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
WeiboSDK.enableDebugMode(true)
WeiboSDK.registerApp(appKey)
return true
}
  这里主要是微博SDK的初始化。打开调试模式,可以看到更多的调试信息,如果出现问题,也可以知道哪里出错了。
  2.只需在ViewController中添加一个登录授权按钮,并在按钮的点击事件中发送微博授权请求:
  @IBAction func onLoginBtn(sender: AnyObject) {
let request = WBAuthorizeRequest.request() as? WBAuthorizeRequest
request?.redirectURI = redirectURI
request?.scope = "all"

WeiboSDK.sendRequest(request)
}
  这段代码的意思是每当按钮没有被点击时,向微博SDK发送一个WBAuthorizeRequest请求。如果您的手机上安装了微博客户端,它会跳转到微博应用程序并请求授权。如果没有安装,会弹出一个网页,让您登录您的微博账号进行授权。
  3.这还不够。您仍然需要处理请求的返回结果。如果你不能发送请求,它就会结束。 WeiboSDK使用Cocoas开发中常用的delegate模式来处理请求的结果响应,也就是说你的请求发出后,响应的结果会在你设置的delegate中通知你。这个delegate就是WeiboSDKDelegate协议,所以需要有一个实现WeiboSDKDelegate协议的类。协议下声明了两个方法:
  /**
收到一个来自微博客户端程序的请求

收到微博的请求后,第三方应用应该按照请求类型进行处理,处理完后必须通过 [WeiboSDK sendResponse:] 将结果回传给微博
@param request 具体的请求对象
*/
- (void)didReceiveWeiboRequest:(WBBaseRequest *)request;
/**
收到一个来自微博客户端程序的响应

收到微博的响应后,第三方应用可以通过响应类型、响应的数据和 WBBaseResponse.userInfo 中的数据完成自己的功能
@param response 具体的响应对象
*/
- (void)didReceiveWeiboResponse:(WBBaseResponse *)response;
  第一个用于处理微博客户端发送的请求,第二个用于处理自己发送的请求的响应消息,比如我们刚刚发送的授权请求,它会是一个结果Deal在第二种方法中使用它。
  我们可以让 AppDelegate 类实现 WeiboSDKDelegate 协议。首先声明AppDelegate服从WeiboSDKDelegate:
  class AppDelegate: UIResponder, UIApplicationDelegate, WeiboSDKDelegate {
  然后在AppDelegate类中实现WeiboSDKDelegate的两个方法:
  func didReceiveWeiboRequest(request: WBBaseRequest!) {
if (request.isKindOfClass(WBProvideMessageForWeiboRequest)) {

}
}

func didReceiveWeiboResponse(response: WBBaseResponse!) {
if (response.isKindOfClass(WBAuthorizeResponse)) {
let message = "响应状态: \(response.statusCode.rawValue)\nresponse.userId: \((response as! WBAuthorizeResponse).userID)\nresponse.accessToken: \((response as! WBAuthorizeResponse).accessToken)\n响应UserInfo数据: \(response.userInfo)\n原请求UserInfo数据: \(response.requestUserInfo)"
let alert = UIAlertView(title: "认证结果", message: message, delegate: nil, cancelButtonTitle: "确定")
alert.show()
}
}
  由于本例中我们不需要处理微博发送给我们的消息,所以第一种方法为空。在第二种方法中,处理对 WBAuthorizeRequest 请求的响应 WBAuthorizeResponse。收到响应后,弹出窗口显示结果。
  其实整个过程类似于UITableView的delegate或者datasource。当你调用reloadData方法时,UITableView会去你为数据指定的datasource,显示多少行,每行多高,每行显示什么内容等,当你点击某一行时,UITableView会通知你等通过您设置的委托。
  4.真的是最后一个了!什么东西少了?对比一下UITableView,你会发现少了设置delegate这一步。如果你不把WeiboSDK的delegate设置为你指定的对象,它就不知道应该把这些消息发送给谁,就像UITableView一样。如果不设置数据源和委托,将无法正确显示结果。
  在 AppDelegate 中添加以下方法:
  func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool {
return WeiboSDK.handleOpenURL(url, delegate: self)
}
  如果你还记得前面提到的App之间的交互(URL Schemes),这个方法从名字上就可以看出它的用处,打开一个url,如果你在这个方法中打断,看看URL的值,你会发现:
  
  url是我们在URL Types中定义的,sourceApplication是com.sina.weibo,表示新浪微博App想要打开我们的App,我们将这条消息转发给WeiboSDK进行处理,并设置WeiboSDK的delegate对象AppDelegate 类(自我)。 (虽然我不知道这里怎么给毛设置delegate,而不是在初始化的时候设置)
  到此为止,当您运行应用程序时,点击“登录”按钮,跳转到微博或弹出网页进行登录,然后返回应用程序,您应该会看到如下弹出窗口:
  
  如果没有意外,则认为授权完成,获取access_token后,可以调用其他微博接口,比如获取用户信息,比如获取用户微博,比如发微博等这些将在下次分解。
  完整项目和代码见微博Demo

爬虫直接爬去微博的方式获取微博数据的可行性

网站优化优采云 发表了文章 • 0 个评论 • 90 次浏览 • 2021-06-21 05:32 • 来自相关话题

  爬虫直接爬去微博的方式获取微博数据的可行性
  最近需要爬取微博的数据进行分析。对于新浪微博,官方提供了API,但是有几个致命的限制(调用次数限制和授权期限限制),所以我觉得有必要研究一下爬虫直接爬到微博获取微博的可行性数据。
  由于模拟登录微博是爬虫爬取微博信息的第一步,下面介绍模拟登录微博的方法(以下以新浪微博为例)。
  这个过程有两个主要步骤:
  1 脚本模拟登录新浪微博并保存cookies;
  2 获得cookie信息后,使用cookie信息直接访问微博网址。
  其中,第一步是这里讨论的重点。为了更好地模拟这一步,需要一个好的网络监控工具。可以使用Firefox的Firebug和Chrome以及IE自带的开发工具(注意IE必须是IE9以上才能有网络监控功能。Chrome的网络交互消息可以在网络部分查看)。另外,前两天发现python支持的包比较多,用python自定义自己的网络消息也比较方便,所以这里使用python作为我的开发语言。
  好的,我们先说前置工作。下面我们来分析一下用户在登录新浪微博时进行的操作。在下面的例子中,我使用 chrome 自带的开发者工具作为我的网络数据包监控工具。
  首先打开(如果你之前设置了浏览器自动记住密码并自动登录,需要明确cookie),然后通过网络监控工具,我们会发现在用户登录的过程中过程中,浏览器和服务器有3个交互如下:
  一、First Get请求获取一些参数
  在用户名字段中输入您的微博帐户,然后确认。这时候你会发现,当你的焦点离开用户名输入框时,浏览器会自动向“(v1.4.5)&_=83”发送GET请求如下:
  
  
  仔细看这个GET请求的响应内容。您会发现此 JSON 字符串收录多个参数。也许你不明白他们的意思,但没关系。现在您只需要在后续处理中知道这些参数即可。就用吧。
  二、发送POST请求
  这部分是整个登录过程的重点。该部分用于向服务器提交用户信息,服务器判断用户信息是否正确,从而判断登录是否成功。
  通过Chrome内置的开发者工具,可以观察到POST消息的相关信息(url、headers、data)。下图是我的POST消息截图:
  网址信息如下:
  
  消息的头部信息如下:
  
  POST的消息数据信息如下:
  
  接下来的工作比较简单。我们要做的就是模仿上面消息的内容和格式,用python发送一个类似的消息。在自定义类似消息之前,我觉得有必要简单说明一下上面消息中DATA形式的每一项的含义。
  其中“su”为加密用户名,“sp”为加密密码。 “servertime”、“nonce”和“rsakv”是上一步GET请求返回的JSON字符串的内容。其他参数不变。然后重点介绍“su”和“sp”的加密算法。
  1.“su”加密算法
  su 由用户名通过 BASE64 计算: su = base64.encodestring( urllib.quote(username) )[:-1];
  2.“sp”加密算法
  sp的加密算法可能会经常变化(考虑到网站的安全性,一段时间后登录修改消息格式和加密算法是正常的)。目前新浪使用的是RSA算法(如果你js比较厉害,可以直接去网页源码里找加密方法,我没找到,参考网上)。
  这里简单介绍一下RSA算法的解密过程。
  2.1 安装RSA模块,下载地址为:
  2.2 创建一个 rsa 公钥。公钥的两个参数在新浪微博上都是固定值,但都是16进制字符串。第一个是第一步登录的公钥,第二个是js加密文件中的'10001'。这两个值需要从十六进制转换为十进制,但也可以写在代码中。我直接把‘10001’写成65537
  
<p style="line-height:21px; font-family:tahoma,helvetica,arial; white-space:normal; color:rgb(69,69,69)">rsaPublickey = int(pubkey, 16)
  key = rsa.PublicKey(rsaPublickey, 65537) #创建公钥
  message = str(servertime) + &#39;\t&#39; + str(nonce) + &#39;\n&#39; + str(password)#拼接明文 js加密文件中得到
  passwd = rsa.encrypt(message, key)#加密
  passwd = binascii.b2a_hex(passwd) #将加密信息转换为16进制。
</p>
  如果上述所有步骤进展顺利,您将得到以下响应:
  
  这是一个自动重定向语句,其中收录要重定向的 URL。如果您登录正确,则此网址中的德语retcode值为0。否则,您需要仔细检查上述步骤。
  三、跳转到对应的微博页面
  上面我们已经得到了要重定向的url,所以现在我们只需要请求这个url。这里需要注意的一点是,为了让服务器知道你是否登录,这一步的请求需要用到上一步操作的cookie信息(因为第二步的登录是否成功的信息会会自动记录在cookie中),所以我们在整个程序开始时就打开cookie,以确保在以后的操作中可以正确使用cookie。同时,对于python用户,这一步不要自己自定义header,因为urllib2默认会自动打包cookie信息,如果手动自定义header,可能会遗漏cookie信息。
  在下面附上我的参考代码:
  参考文章:
  1、
  2、
  转载: 查看全部

  爬虫直接爬去微博的方式获取微博数据的可行性
  最近需要爬取微博的数据进行分析。对于新浪微博,官方提供了API,但是有几个致命的限制(调用次数限制和授权期限限制),所以我觉得有必要研究一下爬虫直接爬到微博获取微博的可行性数据。
  由于模拟登录微博是爬虫爬取微博信息的第一步,下面介绍模拟登录微博的方法(以下以新浪微博为例)。
  这个过程有两个主要步骤:
  1 脚本模拟登录新浪微博并保存cookies;
  2 获得cookie信息后,使用cookie信息直接访问微博网址。
  其中,第一步是这里讨论的重点。为了更好地模拟这一步,需要一个好的网络监控工具。可以使用Firefox的Firebug和Chrome以及IE自带的开发工具(注意IE必须是IE9以上才能有网络监控功能。Chrome的网络交互消息可以在网络部分查看)。另外,前两天发现python支持的包比较多,用python自定义自己的网络消息也比较方便,所以这里使用python作为我的开发语言。
  好的,我们先说前置工作。下面我们来分析一下用户在登录新浪微博时进行的操作。在下面的例子中,我使用 chrome 自带的开发者工具作为我的网络数据包监控工具。
  首先打开(如果你之前设置了浏览器自动记住密码并自动登录,需要明确cookie),然后通过网络监控工具,我们会发现在用户登录的过程中过程中,浏览器和服务器有3个交互如下:
  一、First Get请求获取一些参数
  在用户名字段中输入您的微博帐户,然后确认。这时候你会发现,当你的焦点离开用户名输入框时,浏览器会自动向“(v1.4.5)&_=83”发送GET请求如下:
  
  
  仔细看这个GET请求的响应内容。您会发现此 JSON 字符串收录多个参数。也许你不明白他们的意思,但没关系。现在您只需要在后续处理中知道这些参数即可。就用吧。
  二、发送POST请求
  这部分是整个登录过程的重点。该部分用于向服务器提交用户信息,服务器判断用户信息是否正确,从而判断登录是否成功。
  通过Chrome内置的开发者工具,可以观察到POST消息的相关信息(url、headers、data)。下图是我的POST消息截图:
  网址信息如下:
  
  消息的头部信息如下:
  
  POST的消息数据信息如下:
  
  接下来的工作比较简单。我们要做的就是模仿上面消息的内容和格式,用python发送一个类似的消息。在自定义类似消息之前,我觉得有必要简单说明一下上面消息中DATA形式的每一项的含义。
  其中“su”为加密用户名,“sp”为加密密码。 “servertime”、“nonce”和“rsakv”是上一步GET请求返回的JSON字符串的内容。其他参数不变。然后重点介绍“su”和“sp”的加密算法。
  1.“su”加密算法
  su 由用户名通过 BASE64 计算: su = base64.encodestring( urllib.quote(username) )[:-1];
  2.“sp”加密算法
  sp的加密算法可能会经常变化(考虑到网站的安全性,一段时间后登录修改消息格式和加密算法是正常的)。目前新浪使用的是RSA算法(如果你js比较厉害,可以直接去网页源码里找加密方法,我没找到,参考网上)。
  这里简单介绍一下RSA算法的解密过程。
  2.1 安装RSA模块,下载地址为:
  2.2 创建一个 rsa 公钥。公钥的两个参数在新浪微博上都是固定值,但都是16进制字符串。第一个是第一步登录的公钥,第二个是js加密文件中的'10001'。这两个值需要从十六进制转换为十进制,但也可以写在代码中。我直接把‘10001’写成65537
  
<p style="line-height:21px; font-family:tahoma,helvetica,arial; white-space:normal; color:rgb(69,69,69)">rsaPublickey = int(pubkey, 16)
  key = rsa.PublicKey(rsaPublickey, 65537) #创建公钥
  message = str(servertime) + &#39;\t&#39; + str(nonce) + &#39;\n&#39; + str(password)#拼接明文 js加密文件中得到
  passwd = rsa.encrypt(message, key)#加密
  passwd = binascii.b2a_hex(passwd) #将加密信息转换为16进制。
</p>
  如果上述所有步骤进展顺利,您将得到以下响应:
  
  这是一个自动重定向语句,其中收录要重定向的 URL。如果您登录正确,则此网址中的德语retcode值为0。否则,您需要仔细检查上述步骤。
  三、跳转到对应的微博页面
  上面我们已经得到了要重定向的url,所以现在我们只需要请求这个url。这里需要注意的一点是,为了让服务器知道你是否登录,这一步的请求需要用到上一步操作的cookie信息(因为第二步的登录是否成功的信息会会自动记录在cookie中),所以我们在整个程序开始时就打开cookie,以确保在以后的操作中可以正确使用cookie。同时,对于python用户,这一步不要自己自定义header,因为urllib2默认会自动打包cookie信息,如果手动自定义header,可能会遗漏cookie信息。
  在下面附上我的参考代码:
  参考文章:
  1、
  2、
  转载:

新浪微博API怎么快速学习和使用新浪API的区别?

网站优化优采云 发表了文章 • 0 个评论 • 98 次浏览 • 2021-06-21 05:30 • 来自相关话题

  新浪微博API怎么快速学习和使用新浪API的区别?
  新浪微博 API 看起来像一个不可预测的东西。的确,这不是一件很简单的事情。
  新浪微博API,当我第一次接触它时,我真的很茫然。我发现很难上手,中间经常出现错误。通常是因为缺少一些参数造成的,浪费了很多时间。调试方面,感谢我的朋友Randy的帮助和指导!
  好了,废话少说,现在给大家讲讲我的一些经验,快速学习和使用新浪API。
  第一步:申请一个新浪微博账号,登录后在这里创建一个应用。里面的信息可以随意填写(应用开发完成后回来修改)。创建后,系统会分配一个App Key和App Secret。这两个是验证开发者身份所必需的(作者会收录在下一步下载的SDK源码中,应该可以正常使用,建议替换为自己的。)
  第 2 步:下载 SDK 源代码。我用的是C#,所以我选择第二个下载。下载解压后直接用VS打开即可。
  第三步:主要的SDK源文件有oAuthBase.cs、oAuthSina.cs、ISinaApiService.cs和SinaApiService.cs。上一步提到的两个KEY在oAuthSina.cs文件的第31行,直接替换即可。
  查看 SinaApiService.cs 文件,第 63 行的 user_timeline 方法。
  这个方法没有使用OAuth授权方式(一般都是用这个方法),所以我们需要修改一下代码,增加一个新的方法如下:
  其他变化相同。此时,您可以直接使用这些 API。
  第四步:创建一个WEB项目,新建两个文件:default.aspx和SinaApiCallBack.ashx。
  default.aspx 页面显示
  SinaApiCallBack.ashx API 返回处理页面
  在default.aspx页面上做一个a标签,代码如下:
  SinaApiCallBack.ashx 页面代码如下:
  记住ashx文件在使用session时必须继承System.Web.SessionState.IReadOnlySessionState类,否则会报错。
  好的,直接运行(F5),进入首页看到登录新浪微博点击,出现新浪授权提示,登录你的新浪微博,新浪会跳转到SinaApiCallBack.ashx页面。你看到了吗?这是XML格式的内容,还有JSON格式,然后你就可以把这些数据处理成你自己需要的数据了。
  在这里,您可以开发自己的微博应用程序。是不是没有你想的那么难?
  一开始,不要研究SDK的东西,所以你可能会被这个难住。 SDK里面的东西我还不是很懂,笑笑吧。
  我还有一个xml处理类和一个SinaMUser用户模型类,一起可以轻松处理新浪返回的XML文档。
  我稍后会发布这些文件。
  我在这里做广告。希望大家支持我自己开发的新浪应用。
  如果有什么问题或者建议,可以一起讨论研究。 查看全部

  新浪微博API怎么快速学习和使用新浪API的区别?
  新浪微博 API 看起来像一个不可预测的东西。的确,这不是一件很简单的事情。
  新浪微博API,当我第一次接触它时,我真的很茫然。我发现很难上手,中间经常出现错误。通常是因为缺少一些参数造成的,浪费了很多时间。调试方面,感谢我的朋友Randy的帮助和指导!
  好了,废话少说,现在给大家讲讲我的一些经验,快速学习和使用新浪API。
  第一步:申请一个新浪微博账号,登录后在这里创建一个应用。里面的信息可以随意填写(应用开发完成后回来修改)。创建后,系统会分配一个App Key和App Secret。这两个是验证开发者身份所必需的(作者会收录在下一步下载的SDK源码中,应该可以正常使用,建议替换为自己的。)
  第 2 步:下载 SDK 源代码。我用的是C#,所以我选择第二个下载。下载解压后直接用VS打开即可。
  第三步:主要的SDK源文件有oAuthBase.cs、oAuthSina.cs、ISinaApiService.cs和SinaApiService.cs。上一步提到的两个KEY在oAuthSina.cs文件的第31行,直接替换即可。
  查看 SinaApiService.cs 文件,第 63 行的 user_timeline 方法。
  这个方法没有使用OAuth授权方式(一般都是用这个方法),所以我们需要修改一下代码,增加一个新的方法如下:
  其他变化相同。此时,您可以直接使用这些 API。
  第四步:创建一个WEB项目,新建两个文件:default.aspx和SinaApiCallBack.ashx。
  default.aspx 页面显示
  SinaApiCallBack.ashx API 返回处理页面
  在default.aspx页面上做一个a标签,代码如下:
  SinaApiCallBack.ashx 页面代码如下:
  记住ashx文件在使用session时必须继承System.Web.SessionState.IReadOnlySessionState类,否则会报错。
  好的,直接运行(F5),进入首页看到登录新浪微博点击,出现新浪授权提示,登录你的新浪微博,新浪会跳转到SinaApiCallBack.ashx页面。你看到了吗?这是XML格式的内容,还有JSON格式,然后你就可以把这些数据处理成你自己需要的数据了。
  在这里,您可以开发自己的微博应用程序。是不是没有你想的那么难?
  一开始,不要研究SDK的东西,所以你可能会被这个难住。 SDK里面的东西我还不是很懂,笑笑吧。
  我还有一个xml处理类和一个SinaMUser用户模型类,一起可以轻松处理新浪返回的XML文档。
  我稍后会发布这些文件。
  我在这里做广告。希望大家支持我自己开发的新浪应用。
  如果有什么问题或者建议,可以一起讨论研究。

如何用API提交数据(获取最新更新的20条公共微博消息)

网站优化优采云 发表了文章 • 0 个评论 • 78 次浏览 • 2021-06-20 03:29 • 来自相关话题

  如何用API提交数据(获取最新更新的20条公共微博消息)
  我也是新手,第一次使用开放平台进行开发。一开始,我觉得无处可去。经过长时间的摸索,终于成功调用了API。现在把这个经验介绍给新手(高手不用看,当然,如果你能提出一些意见和建议,我感激不尽),愿与你交流。
  这个例子描述了如何使用API​​提交数据(发布微博)和使用API​​获取数据(获取最新更新的20条公共微博消息),即“获取下游数据集(时间线)”官方API)“statuses/public_timeline下的“获取最新更新的公众微博消息接口”和“statuses/update发布微博信息”下的“微博访问接口”。
  首先,您必须有新浪微博账号,并申请一个app key(详情请参考%E6%96%B0%E6%89%8B%E6%8C%87%E5%8D%97) ,然后在VS中新建一个解决方案,在解决方案中添加一个类库和一个网站,并添加一个引用(网站引用类库)。
  
  因为发布微博是POST请求,获取数据是GET请求,并且通过HTTP基本认证(Basic Authentication)授权,所以我把这些函数写在一个类中(在类库中),代码如下(这个类仅供参考,没有仔细考虑是否通用):
  
  发送请求和授权码
  然后在类库中创建两个实体类status和user,字段与官方API相同:
  
  状态实体类
  
  用户实体类
  好的,经过以上步骤,准备工作就完成了,现在可以调用API了。让我们看看发布一条微博消息。虽然在这篇文章() 中有介绍,但为了本文的完整性,我还是把它贴出来。上传我的代码,在类库中添加一个微博访问类MiniBlogVisit类:
  
  微博访问班
  您可以通过调用更新方法发布微博。但需要注意的是,这里的Content必须使用HttpUtility.UrlEncode进行编码,否则会出现乱码。
  最新更新看20条公众微博消息,这是官方API中的第一个接口。这是 XML 数据或 JSON 数据。您可以根据自己的喜好自由选择。我选择返回 XML。数据。我的方法是将返回的XML数据写入XML文件,然后解析XML文件。代码如下:
  
  获取数据代码
  好的,现在它被调用了。调用比较简单,是一个空的Default.aspx页面,后台代码如下:
  
  呼叫代码
  至此,所有代码都写完了,来看看完整的解决方案:
  
  运行后效果如下:
  
  这是我第一次调用API,也是第一次写这么长的文章。欢迎大家! ! ! 查看全部

  如何用API提交数据(获取最新更新的20条公共微博消息)
  我也是新手,第一次使用开放平台进行开发。一开始,我觉得无处可去。经过长时间的摸索,终于成功调用了API。现在把这个经验介绍给新手(高手不用看,当然,如果你能提出一些意见和建议,我感激不尽),愿与你交流。
  这个例子描述了如何使用API​​提交数据(发布微博)和使用API​​获取数据(获取最新更新的20条公共微博消息),即“获取下游数据集(时间线)”官方API)“statuses/public_timeline下的“获取最新更新的公众微博消息接口”和“statuses/update发布微博信息”下的“微博访问接口”。
  首先,您必须有新浪微博账号,并申请一个app key(详情请参考%E6%96%B0%E6%89%8B%E6%8C%87%E5%8D%97) ,然后在VS中新建一个解决方案,在解决方案中添加一个类库和一个网站,并添加一个引用(网站引用类库)。
  
  因为发布微博是POST请求,获取数据是GET请求,并且通过HTTP基本认证(Basic Authentication)授权,所以我把这些函数写在一个类中(在类库中),代码如下(这个类仅供参考,没有仔细考虑是否通用):
  
  发送请求和授权码
  然后在类库中创建两个实体类status和user,字段与官方API相同:
  
  状态实体类
  
  用户实体类
  好的,经过以上步骤,准备工作就完成了,现在可以调用API了。让我们看看发布一条微博消息。虽然在这篇文章() 中有介绍,但为了本文的完整性,我还是把它贴出来。上传我的代码,在类库中添加一个微博访问类MiniBlogVisit类:
  
  微博访问班
  您可以通过调用更新方法发布微博。但需要注意的是,这里的Content必须使用HttpUtility.UrlEncode进行编码,否则会出现乱码。
  最新更新看20条公众微博消息,这是官方API中的第一个接口。这是 XML 数据或 JSON 数据。您可以根据自己的喜好自由选择。我选择返回 XML。数据。我的方法是将返回的XML数据写入XML文件,然后解析XML文件。代码如下:
  
  获取数据代码
  好的,现在它被调用了。调用比较简单,是一个空的Default.aspx页面,后台代码如下:
  
  呼叫代码
  至此,所有代码都写完了,来看看完整的解决方案:
  
  运行后效果如下:
  
  这是我第一次调用API,也是第一次写这么长的文章。欢迎大家! ! !

SDK使用方法申请应用创建应用开发者资料填写高级信息

网站优化优采云 发表了文章 • 0 个评论 • 77 次浏览 • 2021-06-19 05:13 • 来自相关话题

  
SDK使用方法申请应用创建应用开发者资料填写高级信息
  
  微博SDK介绍
  项目需求需要开发一个新浪微博回复机器人的小工具。经研究,使用新浪微博开放平台提供的API接口最为方便。
  新浪微博开放平台-首页
  利用新浪微博开放平台的API接口,您可以轻松实现微博查询、用户查询、微博回复等各种功能。使用官方SDK工具,可以实现代码自动执行微博模拟操作行为。官方提供了多种语言的SDK工具,包括Python包(廖雪峰老师提供)、本文使用的Java包等
  如何使用 SDK 申请应用
  
  创建应用程序
  
  填写开发者信息
  
  高级信息
  
  基本信息 应用开发
  接口开发请参考官方wiki,或查看自己的“接口管理”模块中当前可用的API接口信息。
  代码导入
  原作者使用eclipse进行开发。使用IntelliJ IDEA开发的同学可以直接导入,选择eclipse导入即可。
  代码中用到的jar包直接放在lib目录下。我们可以使用maven导入对应的jar包,主要包括log包和http包。具体依赖如下:
  

commons-httpclient
commons-httpclient
3.1


log4j
log4j
1.2.17


org.slf4j
slf4j-log4j12
2.0.0-alpha1


  将用于参数设置的properties文件放在resources目录下,并重新设置参数值,填写已申请的应用特定参数。详情如下:
  
  config.properties 代码结构
  
  代码结构
  如上图-http包下的代码主要用于发送和接收请求-model包封装了微博中使用的实体对象。包括Comment、MySSLSocketFactory、Trend等对象——oauth包是自己添加的。其中的代码用于设置accessToken。具体来说,修改config.properties文件中的参数后,运行包下的OAuth4Code.java会自动跳转到授权页面。在重定向的 URL 的末尾,会携带 code 参数。填入code参数后,会生成最终的accessToken。该accessToken值将作为后面查询、回复等接口开发的身份认证信息。 -解析org.json包下的JSON数据进行查询、回复等步骤-utils包下的代码收录数据封装类、数据编码转换类等实用类。 查看全部

  
SDK使用方法申请应用创建应用开发者资料填写高级信息
  
  微博SDK介绍
  项目需求需要开发一个新浪微博回复机器人的小工具。经研究,使用新浪微博开放平台提供的API接口最为方便。
  新浪微博开放平台-首页
  利用新浪微博开放平台的API接口,您可以轻松实现微博查询、用户查询、微博回复等各种功能。使用官方SDK工具,可以实现代码自动执行微博模拟操作行为。官方提供了多种语言的SDK工具,包括Python包(廖雪峰老师提供)、本文使用的Java包等
  如何使用 SDK 申请应用
  
  创建应用程序
  
  填写开发者信息
  
  高级信息
  
  基本信息 应用开发
  接口开发请参考官方wiki,或查看自己的“接口管理”模块中当前可用的API接口信息。
  代码导入
  原作者使用eclipse进行开发。使用IntelliJ IDEA开发的同学可以直接导入,选择eclipse导入即可。
  代码中用到的jar包直接放在lib目录下。我们可以使用maven导入对应的jar包,主要包括log包和http包。具体依赖如下:
  

commons-httpclient
commons-httpclient
3.1


log4j
log4j
1.2.17


org.slf4j
slf4j-log4j12
2.0.0-alpha1


  将用于参数设置的properties文件放在resources目录下,并重新设置参数值,填写已申请的应用特定参数。详情如下:
  
  config.properties 代码结构
  
  代码结构
  如上图-http包下的代码主要用于发送和接收请求-model包封装了微博中使用的实体对象。包括Comment、MySSLSocketFactory、Trend等对象——oauth包是自己添加的。其中的代码用于设置accessToken。具体来说,修改config.properties文件中的参数后,运行包下的OAuth4Code.java会自动跳转到授权页面。在重定向的 URL 的末尾,会携带 code 参数。填入code参数后,会生成最终的accessToken。该accessToken值将作为后面查询、回复等接口开发的身份认证信息。 -解析org.json包下的JSON数据进行查询、回复等步骤-utils包下的代码收录数据封装类、数据编码转换类等实用类。

新浪微博基本没用过,只是听说过抽奖活动注册的

网站优化优采云 发表了文章 • 0 个评论 • 75 次浏览 • 2021-06-19 05:08 • 来自相关话题

  新浪微博基本没用过,只是听说过抽奖活动注册的
  这几天做了一个关于连接新浪微博界面的话题。嘿嘿,我可能过时了。我基本没用过微博。我只是听说我因为彩票而注册了一个。好了,废话少说,这次遇到的问题我来跟大家分享一下。可能对那些还没有开始的人有帮助。
  首先,您必须有一个新浪微博帐号。这次我重新申请了。注册时总是提示。系统繁忙,请稍后重试。我好久没注册了。最后,我先注册了msn,然后绑定了新浪微博。拥有帐户后,转到该页面并创建一个应用程序。基本上所有关于新浪微博的手册都可以在这里找到。单击“我是开发人员”,然后单击“创建应用程序”。然后填写信息。完成后可以获得App Key和App Secret。将使用这两个短期项目。
  然后去下载java sdk。这是新浪微博提供的官方示例。里面有各种各样的例子。访问 call.jsp 时,会进行 oauth 认证。具体什么是oauth认证,可以查一下。我不会在这里谈论它。看看那个例子。看了一下新浪微博上的界面,发现这个话题不难,但是发现没发帖就得登录。在上面的调查中,据说oauth_verifier只能使用一次,之前从未接触过oauth。我不知道怎么登录一次,也不必登录。查了一下。原来,调用回调页面后,如果登录成功,accessToken就保存在session中。 (呵呵,我一开始保存了oauth_verifier和resToken,所以不行,主要是当时不知道原理),所以登录就解决了。后来我提到了网站,这是一个马自达微博话题。发现他的单点登录(即登录他们的网站后,新浪微博不需要登录,或者登录新浪微博后,他们不需要登录他们的网站),产品看到这个之后,我要这个效果。我一直在寻找很长时间。他们都介绍了新浪的同步登录是如何实现的,但是我还没有找到第三方同步登录的方法。后来无意中发现他的登录框是iframe,监控后发现状态码是304,复制那个地址。乍一看,我很依赖它。原来这个话题是新浪开发的,然后用那个域名重定向了。后来咨询了新浪的技术,得知自己登录网站后,并没有登录新浪。哎,这件事害了我快一天了。也可以在某个话题下访问微博。新浪提供的js认证登录也是有问题的。
   查看全部

  新浪微博基本没用过,只是听说过抽奖活动注册的
  这几天做了一个关于连接新浪微博界面的话题。嘿嘿,我可能过时了。我基本没用过微博。我只是听说我因为彩票而注册了一个。好了,废话少说,这次遇到的问题我来跟大家分享一下。可能对那些还没有开始的人有帮助。
  首先,您必须有一个新浪微博帐号。这次我重新申请了。注册时总是提示。系统繁忙,请稍后重试。我好久没注册了。最后,我先注册了msn,然后绑定了新浪微博。拥有帐户后,转到该页面并创建一个应用程序。基本上所有关于新浪微博的手册都可以在这里找到。单击“我是开发人员”,然后单击“创建应用程序”。然后填写信息。完成后可以获得App Key和App Secret。将使用这两个短期项目。
  然后去下载java sdk。这是新浪微博提供的官方示例。里面有各种各样的例子。访问 call.jsp 时,会进行 oauth 认证。具体什么是oauth认证,可以查一下。我不会在这里谈论它。看看那个例子。看了一下新浪微博上的界面,发现这个话题不难,但是发现没发帖就得登录。在上面的调查中,据说oauth_verifier只能使用一次,之前从未接触过oauth。我不知道怎么登录一次,也不必登录。查了一下。原来,调用回调页面后,如果登录成功,accessToken就保存在session中。 (呵呵,我一开始保存了oauth_verifier和resToken,所以不行,主要是当时不知道原理),所以登录就解决了。后来我提到了网站,这是一个马自达微博话题。发现他的单点登录(即登录他们的网站后,新浪微博不需要登录,或者登录新浪微博后,他们不需要登录他们的网站),产品看到这个之后,我要这个效果。我一直在寻找很长时间。他们都介绍了新浪的同步登录是如何实现的,但是我还没有找到第三方同步登录的方法。后来无意中发现他的登录框是iframe,监控后发现状态码是304,复制那个地址。乍一看,我很依赖它。原来这个话题是新浪开发的,然后用那个域名重定向了。后来咨询了新浪的技术,得知自己登录网站后,并没有登录新浪。哎,这件事害了我快一天了。也可以在某个话题下访问微博。新浪提供的js认证登录也是有问题的。
  

,和app-secret登陆微博开放平台创建应用名称的授权回调页

网站优化优采云 发表了文章 • 0 个评论 • 82 次浏览 • 2021-06-19 05:04 • 来自相关话题

  ,和app-secret登陆微博开放平台创建应用名称的授权回调页
  一.创建应用程序
  创建应用的目的是获取app-key和app-secret,设置授权回调页面。
  (1)Get app-key 和 app-secret
  登录微博开放平台创建应用
  
  随意填写应用名称及后续信息。填写完成后,无需提交审核。您所需要的只是应用程序密钥和应用程序机密。应用创建成功后,可以在“我的应用”中看到新创建的应用的详细信息,在“应用信息”中可以找到App Key和App Secret,后面会用到。
  
  (2)设置授权回调页面
  在上面的旁边,打开“申请信息”中的“高级信息”,然后点击“高级信息”中的“编辑”按钮,将“授权回调页面”设置为:同时设置“取消授权回调页面”为:。至此,第一步已经完成。
  
  二.安装微博SDK
  (1)授权机制
  %E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E
  (2)下载微博SDK
  微博 SDK 支持多种语言。本文以python SDK为例来说明操作。微博SDK链接,点击进入并选择您熟悉的语言的SDK,如下图:
  
  安装python版微博SDK:
  直接在命令行下输入
  pip install sinaweibopy3
  或者去 Gethub 下载库
  获取代码和令牌信息
  from weibo import APIClient

# 1.配置
APP_KEY = &#39;你的APP_KEY&#39;
APP_SECRET = &#39;你的APP_SECRET&#39;
CALLBACK_URL = &#39;你的CALLBACK_URL&#39; # 回调授权页面,用户完成授权后返回的页面

# 2.调用APIClient生成client实例
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)

# 3.得到授权页面的url
url = client.get_authorize_url()
print(url)

# 4.点击访问url,在浏览器端获得code
code = &#39;6ecdbf350f0680a6f00cc8c34ae721a6&#39;
req = client.request_access_token(code)
client.set_access_token(req.get(&#39;access_token&#39;), req.get(&#39;expires_in&#39;))

# 5.调用微博普通读取接口,返回最新的公共微博。
# 接口详情见 https://open.weibo.com/wiki/2/ ... eline
statuses = client.statuses__public_timeline()[&#39;statuses&#39;]
print(len(statuses))
# 6.输出部分信息
for i in range(0, len(statuses)):
print(u&#39;昵称:&#39; + statuses[i][&#39;user&#39;][&#39;screen_name&#39;])
print(u&#39;简单介绍:&#39; + statuses[i][&#39;user&#39;][&#39;description&#39;])
print(u&#39;位置:&#39; + statuses[i][&#39;user&#39;][&#39;location&#39;])
print(u&#39;微博:&#39; + statuses[i][&#39;text&#39;])
print(statuses[i])
  通过模拟登录获取验证码
  from weibo import APIClient
from selenium import webdriver
import time
APP_KEY=&#39;填入你的key&#39;
APP_SECRET=&#39;填入你的secret&#39;
CALLBACK_URL = &#39;https://api.weibo.com/oauth2/default.html
# callback url
#在网站放置“使用微博账号登录”的链接,当用户点击链接后,引导用户跳转至如下地址:
#利用官方微博SDK
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
#得到授权页面的url,利用webbrowser打开这个url
url = client.get_authorize_url()
river.get(url)
time.sleep(3)
#填充用户名 密码
driver.find_elements_by_id("userId")[0].send_keys("自己的账户")
driver.find_elements_by_id("passwd")[0].send_keys("密码")
time.sleep(5)
driver.find_element_by_class_name("WB_btn_login").click()
# print(driver.page_source)
if &#39;验证码:&#39; in driver.page_source:
img_ele=driver.find_element_by_xpath(&#39;//img[@node-type="pincode"]&#39;)
image_url = img_ele.get_attribute(&#39;src&#39;)
print(image_url)
if image_url != None:
import requests
response=requests.get(image_url)
with open(&#39;pincode.jpg&#39;, &#39;wb&#39;) as f:
f.write(response.content)
vares_img=input(&#39;请输入:\n&#39;)
driver.find_element_by_class_name(&#39;WB_iptxt&#39;).send_keys(vares_img)
driver.find_element_by_class_name("WB_btn_login").click()
print(&#39;成功登录微博&#39;)
time.sleep(5)
content = driver.current_url
# 设置得到的access_token
print(content)
#获取code=后面的内容
用正则匹配
code = re.complish(r"code=")findall(comtent)
r = client.request_access_token(code)
access_token = r.access_token # 新浪返回的token,类似abc123xyz456
expires_in = r.expires_in
# 设置得到的access_token
client.set_access_token(access_token, expires_in)
#可以打印下看看里面都有什么东西
statuses = client.statuses__friends_timeline()[&#39;statuses&#39;] #获取当前登录用户以及所关注用户(已授权)的微博
length = len(statuses)
print length
#输出了部分信息
for i in range(0,length):
print u&#39;昵称:&#39;+statuses[i][&#39;user&#39;][&#39;screen_name&#39;]
print u&#39;位置:&#39;+statuses[i][&#39;user&#39;][&#39;location&#39;]
print u&#39;微博:&#39;+statuses[i][&#39;text&#39;] 查看全部

  ,和app-secret登陆微博开放平台创建应用名称的授权回调页
  一.创建应用程序
  创建应用的目的是获取app-key和app-secret,设置授权回调页面。
  (1)Get app-key 和 app-secret
  登录微博开放平台创建应用
  
  随意填写应用名称及后续信息。填写完成后,无需提交审核。您所需要的只是应用程序密钥和应用程序机密。应用创建成功后,可以在“我的应用”中看到新创建的应用的详细信息,在“应用信息”中可以找到App Key和App Secret,后面会用到。
  
  (2)设置授权回调页面
  在上面的旁边,打开“申请信息”中的“高级信息”,然后点击“高级信息”中的“编辑”按钮,将“授权回调页面”设置为:同时设置“取消授权回调页面”为:。至此,第一步已经完成。
  
  二.安装微博SDK
  (1)授权机制
  %E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E
  (2)下载微博SDK
  微博 SDK 支持多种语言。本文以python SDK为例来说明操作。微博SDK链接,点击进入并选择您熟悉的语言的SDK,如下图:
  
  安装python版微博SDK:
  直接在命令行下输入
  pip install sinaweibopy3
  或者去 Gethub 下载库
  获取代码和令牌信息
  from weibo import APIClient

# 1.配置
APP_KEY = &#39;你的APP_KEY&#39;
APP_SECRET = &#39;你的APP_SECRET&#39;
CALLBACK_URL = &#39;你的CALLBACK_URL&#39; # 回调授权页面,用户完成授权后返回的页面

# 2.调用APIClient生成client实例
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)

# 3.得到授权页面的url
url = client.get_authorize_url()
print(url)

# 4.点击访问url,在浏览器端获得code
code = &#39;6ecdbf350f0680a6f00cc8c34ae721a6&#39;
req = client.request_access_token(code)
client.set_access_token(req.get(&#39;access_token&#39;), req.get(&#39;expires_in&#39;))

# 5.调用微博普通读取接口,返回最新的公共微博。
# 接口详情见 https://open.weibo.com/wiki/2/ ... eline
statuses = client.statuses__public_timeline()[&#39;statuses&#39;]
print(len(statuses))
# 6.输出部分信息
for i in range(0, len(statuses)):
print(u&#39;昵称:&#39; + statuses[i][&#39;user&#39;][&#39;screen_name&#39;])
print(u&#39;简单介绍:&#39; + statuses[i][&#39;user&#39;][&#39;description&#39;])
print(u&#39;位置:&#39; + statuses[i][&#39;user&#39;][&#39;location&#39;])
print(u&#39;微博:&#39; + statuses[i][&#39;text&#39;])
print(statuses[i])
  通过模拟登录获取验证码
  from weibo import APIClient
from selenium import webdriver
import time
APP_KEY=&#39;填入你的key&#39;
APP_SECRET=&#39;填入你的secret&#39;
CALLBACK_URL = &#39;https://api.weibo.com/oauth2/default.html
# callback url
#在网站放置“使用微博账号登录”的链接,当用户点击链接后,引导用户跳转至如下地址:
#利用官方微博SDK
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
#得到授权页面的url,利用webbrowser打开这个url
url = client.get_authorize_url()
river.get(url)
time.sleep(3)
#填充用户名 密码
driver.find_elements_by_id("userId")[0].send_keys("自己的账户")
driver.find_elements_by_id("passwd")[0].send_keys("密码")
time.sleep(5)
driver.find_element_by_class_name("WB_btn_login").click()
# print(driver.page_source)
if &#39;验证码:&#39; in driver.page_source:
img_ele=driver.find_element_by_xpath(&#39;//img[@node-type="pincode"]&#39;)
image_url = img_ele.get_attribute(&#39;src&#39;)
print(image_url)
if image_url != None:
import requests
response=requests.get(image_url)
with open(&#39;pincode.jpg&#39;, &#39;wb&#39;) as f:
f.write(response.content)
vares_img=input(&#39;请输入:\n&#39;)
driver.find_element_by_class_name(&#39;WB_iptxt&#39;).send_keys(vares_img)
driver.find_element_by_class_name("WB_btn_login").click()
print(&#39;成功登录微博&#39;)
time.sleep(5)
content = driver.current_url
# 设置得到的access_token
print(content)
#获取code=后面的内容
用正则匹配
code = re.complish(r"code=")findall(comtent)
r = client.request_access_token(code)
access_token = r.access_token # 新浪返回的token,类似abc123xyz456
expires_in = r.expires_in
# 设置得到的access_token
client.set_access_token(access_token, expires_in)
#可以打印下看看里面都有什么东西
statuses = client.statuses__friends_timeline()[&#39;statuses&#39;] #获取当前登录用户以及所关注用户(已授权)的微博
length = len(statuses)
print length
#输出了部分信息
for i in range(0,length):
print u&#39;昵称:&#39;+statuses[i][&#39;user&#39;][&#39;screen_name&#39;]
print u&#39;位置:&#39;+statuses[i][&#39;user&#39;][&#39;location&#39;]
print u&#39;微博:&#39;+statuses[i][&#39;text&#39;]

调用微博api发新微博,网上找了很多相关教程

网站优化优采云 发表了文章 • 0 个评论 • 78 次浏览 • 2021-06-19 05:02 • 来自相关话题

  调用微博api发新微博,网上找了很多相关教程
  最近有一个项目需要调用微博API来发布新的微博。在网上找了很多相关的教程,遇到了很多坑。后来发邮件给官方发现微博官方早在2017年3月就调整了相关接口,取消了现有在线教程中的微博发送接口(updateStatus),导致调用该接口导致权限不足再次。 ,当时折腾了半天。特此发个新文章,希望大家不要掉坑。
  首先登录开放平台创建应用
  首先,您需要到微博开放平台申请开发者账号创建新应用。您可以直接使用您的微博帐户登录。登录后点击微连接选择其他,根据需要选择新建应用(客户端、网页应用和浏览器插件)。
  
  二、应用相关设置
  首先在应用信息中编辑应用的基本信息,包括应用介绍的目的。您必须填写安全域名。自己测试的时候填写域名即可。申请企业时需填写企业相关域名。
  
  还需要在应用高级信息中设置OAuth2.0授权回调页面。您也可以随意填写此测试。当应用程序发起用户授权时,会成功或取消重定向的页面地址。
  
  三、下载微博java sdk
  点击sdk后会跳回github页面。页面上有示例提示如何使用,下载即可。下载后,将其导入代码编辑器。最重要的一步:修改config.properties文件中的字段值。值的来源在应用信息中。
  
  四、运行实例获取授权码
  修改配置文件后,先打开examples包下oauth2.0下的OAuth4Code.java文件,直接运行main方法。此时默认浏览器会打开用户授权页面。授权后浏览器地址最后会加一个code=******。将代码复制粘贴到编辑器控制台,回车返回授权信息。
  复制返回的授权信息中accessToken的值,即授权码。
  AccessToken [accessToken=2.00******, expireIn=11255**, refreshToken=,uid=****] 有了这个授权码,我们就可以正式运营微博了。
  注意:微博api中的所有操作都需要得到OAuth2.0的授权。每种方法都需要一个授权码。未经审核的应用程序授权码仅在一天内有效。有效期为30天,如果获得应用所属开发者授权,则为5年。因此,开发者在调用时需要确定授权码的有效期,到期后应引导用户重新授权。
  五、api应用的微博
  examples包下都是微博官方api实例。之前的微博发送界面在weibo4j.examples.timeline下。其中UpdateStatus.java和Upload.java是发送微博文本,另一个是发送带图片的微博实例。打开之后发现发送的微博都是调用weibo4j.Timeline.java这个类。
  不过,微博官方已经取消了updateStatus等相关的微博发送接口,这些接口已经不能再调用了,但是因为java SDK是2014版本,所以这些方法还是存在的。后续替换之前的updateStatus接口是status/share(第三方分享链接到微博)
  
  我们使用这个接口发送微博。由于java sdk是2014版本,这个版本没有这个接口方法,所以我们需要根据他的调用方法来写一个新的接口。因为接口只有两个必填参数,一个微博文本和一个授权码,类似于updateStatus。所以我们可以打开weibo4j.Timeline.java找到updateStatus方法,复制一份,改方法名,替换json。这样发微博不带图的方法就完成了。
   
  public Status updateStatus(String status) 抛出 WeiboException {
  返回新状态(client.post(WeiboConfig.getValue("baseURL")
  + "statuses/update.json",
  new PostParameter[] {new PostParameter("status", status) },
  access_token));
  }
  /** 查看全部

  调用微博api发新微博,网上找了很多相关教程
  最近有一个项目需要调用微博API来发布新的微博。在网上找了很多相关的教程,遇到了很多坑。后来发邮件给官方发现微博官方早在2017年3月就调整了相关接口,取消了现有在线教程中的微博发送接口(updateStatus),导致调用该接口导致权限不足再次。 ,当时折腾了半天。特此发个新文章,希望大家不要掉坑。
  首先登录开放平台创建应用
  首先,您需要到微博开放平台申请开发者账号创建新应用。您可以直接使用您的微博帐户登录。登录后点击微连接选择其他,根据需要选择新建应用(客户端、网页应用和浏览器插件)。
  
  二、应用相关设置
  首先在应用信息中编辑应用的基本信息,包括应用介绍的目的。您必须填写安全域名。自己测试的时候填写域名即可。申请企业时需填写企业相关域名。
  
  还需要在应用高级信息中设置OAuth2.0授权回调页面。您也可以随意填写此测试。当应用程序发起用户授权时,会成功或取消重定向的页面地址。
  
  三、下载微博java sdk
  点击sdk后会跳回github页面。页面上有示例提示如何使用,下载即可。下载后,将其导入代码编辑器。最重要的一步:修改config.properties文件中的字段值。值的来源在应用信息中。
  
  四、运行实例获取授权码
  修改配置文件后,先打开examples包下oauth2.0下的OAuth4Code.java文件,直接运行main方法。此时默认浏览器会打开用户授权页面。授权后浏览器地址最后会加一个code=******。将代码复制粘贴到编辑器控制台,回车返回授权信息。
  复制返回的授权信息中accessToken的值,即授权码。
  AccessToken [accessToken=2.00******, expireIn=11255**, refreshToken=,uid=****] 有了这个授权码,我们就可以正式运营微博了。
  注意:微博api中的所有操作都需要得到OAuth2.0的授权。每种方法都需要一个授权码。未经审核的应用程序授权码仅在一天内有效。有效期为30天,如果获得应用所属开发者授权,则为5年。因此,开发者在调用时需要确定授权码的有效期,到期后应引导用户重新授权。
  五、api应用的微博
  examples包下都是微博官方api实例。之前的微博发送界面在weibo4j.examples.timeline下。其中UpdateStatus.java和Upload.java是发送微博文本,另一个是发送带图片的微博实例。打开之后发现发送的微博都是调用weibo4j.Timeline.java这个类。
  不过,微博官方已经取消了updateStatus等相关的微博发送接口,这些接口已经不能再调用了,但是因为java SDK是2014版本,所以这些方法还是存在的。后续替换之前的updateStatus接口是status/share(第三方分享链接到微博)
  
  我们使用这个接口发送微博。由于java sdk是2014版本,这个版本没有这个接口方法,所以我们需要根据他的调用方法来写一个新的接口。因为接口只有两个必填参数,一个微博文本和一个授权码,类似于updateStatus。所以我们可以打开weibo4j.Timeline.java找到updateStatus方法,复制一份,改方法名,替换json。这样发微博不带图的方法就完成了。
   
  public Status updateStatus(String status) 抛出 WeiboException {
  返回新状态(client.post(WeiboConfig.getValue("baseURL")
  + "statuses/update.json",
  new PostParameter[] {new PostParameter("status", status) },
  access_token));
  }
  /**

朋友圈里的emoji表情符会被「同步圈」识别错误

网站优化优采云 发表了文章 • 0 个评论 • 212 次浏览 • 2021-06-12 23:07 • 来自相关话题

  朋友圈里的emoji表情符会被「同步圈」识别错误
  在微信公众号和朋友圈疯狂挤压个人时间的当下,很多人的微博都在逐渐被抛弃,这个工具可以帮你自动同步任何朋友圈图文内容到你的微博上。
  这个可以为你省去很多麻烦的小工具叫做“同步圈”。顾名思义,就是把你的“朋友圈”“同步”到微博上。
  
  为了一劳永逸地享受自动同步的便利,您需要提前在PC浏览器中使用您的个人微博账号登录同步推文。网址是。获得登录授权后,网页上会显示二维码。用微信扫一扫后,添加一个名为“同步圈”的个人微信ID,很快就会通过验证。
  接下来需要将二维码下方的四位验证码发送到“同步圈”账号,然后会提示绑定成功!
  
  经过测试,“同步圈”目前支持纯文本、文本+表情、文本+图片的自动同步。您在朋友圈发布的小视频和地理位置无法同步到您的个人微博。经过实测,我也发现一些特殊的表情符号会被“同步圈”误识别,可能会造成一些歧义或误解。这可能是微信朋友圈和微博支持的表情不一致造成的。
  从原理上看,“同步圈”调用微信朋友圈侧的某些内容识别接口,可以自动抓取绑定用户的朋友圈内容,然后利用微博开放平台的API接口发送相同的内容。抽象地说,“同步圈”与著名的自动化服务IFTTT非常相似。只是它在微信封闭的城墙上开设了一个单向信息站,帮助用户将内容输出到更广阔的公共网络空间。
  不幸的是,根据我们对腾讯和微信团队的了解,同步圈的这个“小聪明”可能很快就会失败。 查看全部

  朋友圈里的emoji表情符会被「同步圈」识别错误
  在微信公众号和朋友圈疯狂挤压个人时间的当下,很多人的微博都在逐渐被抛弃,这个工具可以帮你自动同步任何朋友圈图文内容到你的微博上。
  这个可以为你省去很多麻烦的小工具叫做“同步圈”。顾名思义,就是把你的“朋友圈”“同步”到微博上。
  
  为了一劳永逸地享受自动同步的便利,您需要提前在PC浏览器中使用您的个人微博账号登录同步推文。网址是。获得登录授权后,网页上会显示二维码。用微信扫一扫后,添加一个名为“同步圈”的个人微信ID,很快就会通过验证。
  接下来需要将二维码下方的四位验证码发送到“同步圈”账号,然后会提示绑定成功!
  
  经过测试,“同步圈”目前支持纯文本、文本+表情、文本+图片的自动同步。您在朋友圈发布的小视频和地理位置无法同步到您的个人微博。经过实测,我也发现一些特殊的表情符号会被“同步圈”误识别,可能会造成一些歧义或误解。这可能是微信朋友圈和微博支持的表情不一致造成的。
  从原理上看,“同步圈”调用微信朋友圈侧的某些内容识别接口,可以自动抓取绑定用户的朋友圈内容,然后利用微博开放平台的API接口发送相同的内容。抽象地说,“同步圈”与著名的自动化服务IFTTT非常相似。只是它在微信封闭的城墙上开设了一个单向信息站,帮助用户将内容输出到更广阔的公共网络空间。
  不幸的是,根据我们对腾讯和微信团队的了解,同步圈的这个“小聪明”可能很快就会失败。

新浪微博API研究研究:实现发布微博帐号密码登录功能

网站优化优采云 发表了文章 • 0 个评论 • 128 次浏览 • 2021-07-06 05:12 • 来自相关话题

  
新浪微博API研究研究:实现发布微博帐号密码登录功能
  Java使用新浪微博API通过账号密码登录微博的示例
  更新时间:2016年2月27日15:00:28 作者:冻鱼
  这个文章主要介绍一个Java使用新浪微博API通过账号密码登录微博的例子。一般来说,第三方app使用OAuth授权鉴权,然后跳转。介绍的账号方式更自由,有需要的朋友可以参考
  今天,我在新浪微博上发布了一个 API 研究报告。目前我们已经实现了发布微博的功能,包括带图片的微博。为安全起见,新浪微博API不提供微博账号密码登录功能。相反,它使用 OAuth 授权。用户通过浏览器访问新浪网站进行登录,登录成功后,浏览器将key和secret返回给程序。
  main.xml:
  一个登录按钮、一个输入框和一个发布按钮
  因为要接收浏览器返回的数据,所以必须在AndroidManifest.xml注册Activity时添加一个Intent-Filter。
  intent-filter 必须写成两段。如果写在一起,则不会被激活。
  简单起见,直接复制新浪示例中的OAuthConstant类:
  
package weibo4android.androidexamples;

import weibo4android.Weibo;
import weibo4android.http.AccessToken;
import weibo4android.http.RequestToken;

public class OAuthConstant {
private static Weibo weibo=null;
private static OAuthConstant instance=null;
private RequestToken requestToken;
private AccessToken accessToken;
private String token;
private String tokenSecret;
private OAuthConstant(){};
public static synchronized OAuthConstant getInstance(){
if(instance==null)
instance= new OAuthConstant();
return instance;
}
public Weibo getWeibo(){
if(weibo==null)
weibo= new Weibo();
return weibo;
}

public AccessToken getAccessToken() {
return accessToken;
}
public void setAccessToken(AccessToken accessToken) {
this.accessToken = accessToken;
this.token=accessToken.getToken();
this.tokenSecret=accessToken.getTokenSecret();
}
public RequestToken getRequestToken() {
return requestToken;
}
public void setRequestToken(RequestToken requestToken) {
this.requestToken = requestToken;
}
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
public String getTokenSecret() {
return tokenSecret;
}
public void setTokenSecret(String tokenSecret) {
this.tokenSecret = tokenSecret;
}

}
  接下来是最关键的主程序:
  
package com.pocketdigi.weibo;

import java.io.File;

import weibo4android.Weibo;
import weibo4android.WeiboException;
import weibo4android.http.AccessToken;
import weibo4android.http.RequestToken;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class Main extends Activity {
/** Called when the activity is first created. */
String key = "", secret = "";
Button login,send;
EditText status;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
System.setProperty("weibo4j.oauth.consumerKey", "3997936609");
System.setProperty("weibo4j.oauth.consumerSecret",
"8bc9e3bfd6ae8e3b2b8bda9079918950");
//设置在新浪应用开放平台申请的应用的key和secret
login=(Button)findViewById(R.id.login);
send=(Button)findViewById(R.id.send);
status=(EditText)findViewById(R.id.status);
login.setOnClickListener(new OnClickListener(){

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
login();
//登录
}});
send.setOnClickListener(new OnClickListener(){

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String text=String.valueOf(status.getText());
Weibo weibo = new Weibo();
weibo.setToken(key,secret);
try {
//weibo.updateStatus(text);
//只发文字
File f=new File("/sdcard/wallpaper/129567208597069400.jpg");
weibo.uploadStatus(text,f );
//发文字+图片,这里需要导入commons-httpclient-3.0.1.jar,自己网上下
//在实际项目上,最好放Thread里,因为按下去的时候按钮会卡
} catch (WeiboException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}});
}

@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
//启动时执行检测是否来自网页登录返回
//如果是,获取key和secret
//否则读取SharedPreferences
//若得不到key和secret,直接跳转登录
Uri uri = this.getIntent().getData();
if (uri != null) {
//如果是浏览器返回
try {
RequestToken requestToken = OAuthConstant.getInstance()
.getRequestToken();
AccessToken accessToken = requestToken.getAccessToken(uri
.getQueryParameter("oauth_verifier"));
OAuthConstant.getInstance().setAccessToken(accessToken);
// 保存
Editor sharedata = getSharedPreferences("WeiBo", 0).edit();
sharedata.putString("key", accessToken.getToken());
sharedata.putString("secret", accessToken.getTokenSecret());
sharedata.commit();
key = accessToken.getToken();
secret = accessToken.getTokenSecret();
} catch (WeiboException e) {
e.printStackTrace();
}
} else {
//如果是用户自己启动
SharedPreferences settings = getSharedPreferences("WeiBo", 0);
key = settings.getString("key", "");
secret = settings.getString("secret", "");
}
if (key.equals("") || secret.equals("")) {
Toast.makeText(this, "尚未登录", Toast.LENGTH_LONG).show();
login();
//跳转到浏览器登录

}

}
public void login(){
Weibo weibo = OAuthConstant.getInstance().getWeibo();
RequestToken requestToken;
try {
requestToken =weibo.getOAuthRequestToken("sina://weibo");
//为了避免与同类应用冲突,还是自己改下URI吧
Uri uri2 = Uri.parse(requestToken.getAuthenticationURL()+ "&from=xweibo");
OAuthConstant.getInstance().setRequestToken(requestToken);
startActivity(new Intent(Intent.ACTION_VIEW, uri2));
} catch (WeiboException e) {
e.printStackTrace();
}
}
}
  发送图片需要导入commons-httpclient-3.0.1.jar,否则启动会报错,当然weibo4android-1.2.0.jar是不可或缺 查看全部

  
新浪微博API研究研究:实现发布微博帐号密码登录功能
  Java使用新浪微博API通过账号密码登录微博的示例
  更新时间:2016年2月27日15:00:28 作者:冻鱼
  这个文章主要介绍一个Java使用新浪微博API通过账号密码登录微博的例子。一般来说,第三方app使用OAuth授权鉴权,然后跳转。介绍的账号方式更自由,有需要的朋友可以参考
  今天,我在新浪微博上发布了一个 API 研究报告。目前我们已经实现了发布微博的功能,包括带图片的微博。为安全起见,新浪微博API不提供微博账号密码登录功能。相反,它使用 OAuth 授权。用户通过浏览器访问新浪网站进行登录,登录成功后,浏览器将key和secret返回给程序。
  main.xml:
  一个登录按钮、一个输入框和一个发布按钮
  因为要接收浏览器返回的数据,所以必须在AndroidManifest.xml注册Activity时添加一个Intent-Filter。
  intent-filter 必须写成两段。如果写在一起,则不会被激活。
  简单起见,直接复制新浪示例中的OAuthConstant类:
  
package weibo4android.androidexamples;

import weibo4android.Weibo;
import weibo4android.http.AccessToken;
import weibo4android.http.RequestToken;

public class OAuthConstant {
private static Weibo weibo=null;
private static OAuthConstant instance=null;
private RequestToken requestToken;
private AccessToken accessToken;
private String token;
private String tokenSecret;
private OAuthConstant(){};
public static synchronized OAuthConstant getInstance(){
if(instance==null)
instance= new OAuthConstant();
return instance;
}
public Weibo getWeibo(){
if(weibo==null)
weibo= new Weibo();
return weibo;
}

public AccessToken getAccessToken() {
return accessToken;
}
public void setAccessToken(AccessToken accessToken) {
this.accessToken = accessToken;
this.token=accessToken.getToken();
this.tokenSecret=accessToken.getTokenSecret();
}
public RequestToken getRequestToken() {
return requestToken;
}
public void setRequestToken(RequestToken requestToken) {
this.requestToken = requestToken;
}
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
public String getTokenSecret() {
return tokenSecret;
}
public void setTokenSecret(String tokenSecret) {
this.tokenSecret = tokenSecret;
}

}
  接下来是最关键的主程序:
  
package com.pocketdigi.weibo;

import java.io.File;

import weibo4android.Weibo;
import weibo4android.WeiboException;
import weibo4android.http.AccessToken;
import weibo4android.http.RequestToken;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class Main extends Activity {
/** Called when the activity is first created. */
String key = "", secret = "";
Button login,send;
EditText status;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
System.setProperty("weibo4j.oauth.consumerKey", "3997936609");
System.setProperty("weibo4j.oauth.consumerSecret",
"8bc9e3bfd6ae8e3b2b8bda9079918950");
//设置在新浪应用开放平台申请的应用的key和secret
login=(Button)findViewById(R.id.login);
send=(Button)findViewById(R.id.send);
status=(EditText)findViewById(R.id.status);
login.setOnClickListener(new OnClickListener(){

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
login();
//登录
}});
send.setOnClickListener(new OnClickListener(){

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String text=String.valueOf(status.getText());
Weibo weibo = new Weibo();
weibo.setToken(key,secret);
try {
//weibo.updateStatus(text);
//只发文字
File f=new File("/sdcard/wallpaper/129567208597069400.jpg");
weibo.uploadStatus(text,f );
//发文字+图片,这里需要导入commons-httpclient-3.0.1.jar,自己网上下
//在实际项目上,最好放Thread里,因为按下去的时候按钮会卡
} catch (WeiboException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}});
}

@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
//启动时执行检测是否来自网页登录返回
//如果是,获取key和secret
//否则读取SharedPreferences
//若得不到key和secret,直接跳转登录
Uri uri = this.getIntent().getData();
if (uri != null) {
//如果是浏览器返回
try {
RequestToken requestToken = OAuthConstant.getInstance()
.getRequestToken();
AccessToken accessToken = requestToken.getAccessToken(uri
.getQueryParameter("oauth_verifier"));
OAuthConstant.getInstance().setAccessToken(accessToken);
// 保存
Editor sharedata = getSharedPreferences("WeiBo", 0).edit();
sharedata.putString("key", accessToken.getToken());
sharedata.putString("secret", accessToken.getTokenSecret());
sharedata.commit();
key = accessToken.getToken();
secret = accessToken.getTokenSecret();
} catch (WeiboException e) {
e.printStackTrace();
}
} else {
//如果是用户自己启动
SharedPreferences settings = getSharedPreferences("WeiBo", 0);
key = settings.getString("key", "");
secret = settings.getString("secret", "");
}
if (key.equals("") || secret.equals("")) {
Toast.makeText(this, "尚未登录", Toast.LENGTH_LONG).show();
login();
//跳转到浏览器登录

}

}
public void login(){
Weibo weibo = OAuthConstant.getInstance().getWeibo();
RequestToken requestToken;
try {
requestToken =weibo.getOAuthRequestToken("sina://weibo");
//为了避免与同类应用冲突,还是自己改下URI吧
Uri uri2 = Uri.parse(requestToken.getAuthenticationURL()+ "&from=xweibo");
OAuthConstant.getInstance().setRequestToken(requestToken);
startActivity(new Intent(Intent.ACTION_VIEW, uri2));
} catch (WeiboException e) {
e.printStackTrace();
}
}
}
  发送图片需要导入commons-httpclient-3.0.1.jar,否则启动会报错,当然weibo4android-1.2.0.jar是不可或缺

推荐融了再融,新浪微博企业级服务拓展方向

网站优化优采云 发表了文章 • 0 个评论 • 76 次浏览 • 2021-07-02 21:00 • 来自相关话题

  推荐融了再融,新浪微博企业级服务拓展方向
  使用新浪微博开放平台api同步微博内容至自己网站,或联合其他平台一起做内容的集散中心,
  个人觉得微博应该越来越成为自己的一部分,如果一定要说未来方向,可能是多形态的社交化吧,增加贴近用户场景的功能和体验,例如绑定域名,相册,评论等等。
  推荐融了再融,
  新浪微博企业级服务拓展方向之一:供应链金融
  我觉得新浪会推出企业微博,从传统媒体转型到社交媒体。还有就是为了打败搜狐新闻客户端,而不是像搜狐网一样只出社交网站。
  首先,在国内微博这种陌生人社交平台还是一片蓝海,进入门槛低,而且风险利润都比较高,对个人投资者来说好比羊毛出在羊身上。其次,为什么会推出成熟的移动互联网平台?我觉得可能是新浪内部不知道该给什么样的平台能够有长足发展,所以先把社交这一块先开发出来,等条件成熟了在做下一步的业务布局。或者说是找一个入口,商业模式方面而言现在看来跟真正的微博还有很大区别。
  最后,个人认为,新浪微博不是出来创业就完了,必须还有一些其他业务平台,所以新浪新世界的整合能力显得尤为重要。
  觉得,新浪如果能不局限于新闻客户端这种弱关系平台,能出一些比较好玩的好玩的有意思的活动,就很吸引人了,比如麻将的大佬什么的也是很有意思的。 查看全部

  推荐融了再融,新浪微博企业级服务拓展方向
  使用新浪微博开放平台api同步微博内容至自己网站,或联合其他平台一起做内容的集散中心,
  个人觉得微博应该越来越成为自己的一部分,如果一定要说未来方向,可能是多形态的社交化吧,增加贴近用户场景的功能和体验,例如绑定域名,相册,评论等等。
  推荐融了再融,
  新浪微博企业级服务拓展方向之一:供应链金融
  我觉得新浪会推出企业微博,从传统媒体转型到社交媒体。还有就是为了打败搜狐新闻客户端,而不是像搜狐网一样只出社交网站。
  首先,在国内微博这种陌生人社交平台还是一片蓝海,进入门槛低,而且风险利润都比较高,对个人投资者来说好比羊毛出在羊身上。其次,为什么会推出成熟的移动互联网平台?我觉得可能是新浪内部不知道该给什么样的平台能够有长足发展,所以先把社交这一块先开发出来,等条件成熟了在做下一步的业务布局。或者说是找一个入口,商业模式方面而言现在看来跟真正的微博还有很大区别。
  最后,个人认为,新浪微博不是出来创业就完了,必须还有一些其他业务平台,所以新浪新世界的整合能力显得尤为重要。
  觉得,新浪如果能不局限于新闻客户端这种弱关系平台,能出一些比较好玩的好玩的有意思的活动,就很吸引人了,比如麻将的大佬什么的也是很有意思的。

使用新浪微博开放平台api同步微博内容至自己网站上

网站优化优采云 发表了文章 • 0 个评论 • 94 次浏览 • 2021-07-02 01:03 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站上
  使用新浪微博开放平台api同步微博内容至自己网站上,基本不用考虑时间戳问题,
  前段时间用过聚合传送门,就是点开就是广告连接,
  支持,
  目前有一个脚本链接的用途,如果你有内容在其他网站有链接,
  我也一直有这个需求,通过这个完成。
  前段时间在招聘,周围也基本都是同样的人才,发现他们很多在职场就已经有了自己的第三方平台,比如现在在大咖岛公司上班的一个同事,他在公司里就自己搭建了一个微博服务平台,只不过用它来做工作分享的。当然我们不能没有共同话题,我也在自己搭建一个平台,然后把手头的外链直接转发到这个平台里面去,但是他有一个特别的地方,可以在这个平台中查看到所有我在前面修改的外链内容。我觉得你可以试试。
  没法同步,
  需要,不是有了微博开放平台就可以满足你全部需求。我用过国内一些第三方平台,效果都不大。而且很多账号是配置不同ip地址的,导致同一台电脑多次操作都可能因为不同ip操作而造成误操作。现在官方开放的api的安全性都是令人堪忧的。
  很多这样的平台和服务,但是大多只是专门做账号操作的。对于网站端的影响有限。如果你是要做品牌营销,还是需要第三方的安全可信度比较高的,可以看看我们团队的,做行业数据分析。安全可信度更高的。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站上
  使用新浪微博开放平台api同步微博内容至自己网站上,基本不用考虑时间戳问题,
  前段时间用过聚合传送门,就是点开就是广告连接,
  支持,
  目前有一个脚本链接的用途,如果你有内容在其他网站有链接,
  我也一直有这个需求,通过这个完成。
  前段时间在招聘,周围也基本都是同样的人才,发现他们很多在职场就已经有了自己的第三方平台,比如现在在大咖岛公司上班的一个同事,他在公司里就自己搭建了一个微博服务平台,只不过用它来做工作分享的。当然我们不能没有共同话题,我也在自己搭建一个平台,然后把手头的外链直接转发到这个平台里面去,但是他有一个特别的地方,可以在这个平台中查看到所有我在前面修改的外链内容。我觉得你可以试试。
  没法同步,
  需要,不是有了微博开放平台就可以满足你全部需求。我用过国内一些第三方平台,效果都不大。而且很多账号是配置不同ip地址的,导致同一台电脑多次操作都可能因为不同ip操作而造成误操作。现在官方开放的api的安全性都是令人堪忧的。
  很多这样的平台和服务,但是大多只是专门做账号操作的。对于网站端的影响有限。如果你是要做品牌营销,还是需要第三方的安全可信度比较高的,可以看看我们团队的,做行业数据分析。安全可信度更高的。

使用新浪微博开放平台api同步微博内容至自己网站。

网站优化优采云 发表了文章 • 0 个评论 • 124 次浏览 • 2021-07-01 06:02 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站。
  使用新浪微博开放平台api同步微博内容至自己网站。这样你只要关注你本地的新浪微博账号,用新浪发布的热门微博链接就可以同步到你的网站上。
  楼上在扯淡。注册新浪微博账号,登录即可,实在不明白私信我。
  1.获取用户id2.获取用户的实名注册信息
  我也不知道怎么回答,我们大学就有来这个。自己申请,然后保存再给别人。好吧,
  不同地区的新浪微博注册账号不同,你可以用注册时候你所在地区的手机号码注册。现在已经是电话注册了,比较方便。我有一个自己的帐号,虽然没有主动给别人发微博。
  你可以在新浪微博空间评论中留言,然后回复给他,他要怎么操作,
  这就跟另一个问题一样,得要回答。
  如果用新浪网易腾讯等其他平台账号登录,它们会有一个黄v或白v标识,你的微博可以通过这些账号再发。
  在各大微博用第三方接口。
  你可以用注册的那个新浪微博账号注册自己的网站,然后在你的微博上添加他的链接,他就能在你的网站里看到这条微博。也可以自己建个博客,在里面发,就像你在知乎上发一样。这样比较有意思。
  代理发微博这个技能学会了吗?
  你的注册信息,我看你应该是以及有自己的网站,可以再自己网站上发布。不过如果你想让别人同步这条微博,你需要确认网站接口能不能同步,因为你的微博内容也是网站分配到用户端,然后进行同步。如果只是自己发自己的微博的话,你自己开个博客也是可以的。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站。
  使用新浪微博开放平台api同步微博内容至自己网站。这样你只要关注你本地的新浪微博账号,用新浪发布的热门微博链接就可以同步到你的网站上。
  楼上在扯淡。注册新浪微博账号,登录即可,实在不明白私信我。
  1.获取用户id2.获取用户的实名注册信息
  我也不知道怎么回答,我们大学就有来这个。自己申请,然后保存再给别人。好吧,
  不同地区的新浪微博注册账号不同,你可以用注册时候你所在地区的手机号码注册。现在已经是电话注册了,比较方便。我有一个自己的帐号,虽然没有主动给别人发微博。
  你可以在新浪微博空间评论中留言,然后回复给他,他要怎么操作,
  这就跟另一个问题一样,得要回答。
  如果用新浪网易腾讯等其他平台账号登录,它们会有一个黄v或白v标识,你的微博可以通过这些账号再发。
  在各大微博用第三方接口。
  你可以用注册的那个新浪微博账号注册自己的网站,然后在你的微博上添加他的链接,他就能在你的网站里看到这条微博。也可以自己建个博客,在里面发,就像你在知乎上发一样。这样比较有意思。
  代理发微博这个技能学会了吗?
  你的注册信息,我看你应该是以及有自己的网站,可以再自己网站上发布。不过如果你想让别人同步这条微博,你需要确认网站接口能不能同步,因为你的微博内容也是网站分配到用户端,然后进行同步。如果只是自己发自己的微博的话,你自己开个博客也是可以的。

使用新浪微博开放平台api同步微博内容至自己网站可以考虑

网站优化优采云 发表了文章 • 0 个评论 • 69 次浏览 • 2021-06-29 02:01 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站可以考虑
  使用新浪微博开放平台api同步微博内容至自己网站可以考虑如下方案:1.开放平台提供的api:开放平台在搜索结果中搜索新浪微博开放平台,有很多的工具可以用来做同步微博内容至自己网站的。2.不开放平台的api:使用第三方的工具:如wap微博交换工具。如果只是取代微博的话,可以看看某些微博客工具,这种工具需要绑定个人账号,且需要知道身份才能使用。相信目前第三方工具还没有普及吧。3.超级域名内容同步工具。
  有人说了使用第三方工具和域名绑定,其实这不是事,具体可以看看这里:使用第三方工具将新浪微博网站内容同步至微博客,尤其是无法解析到ip地址或者内容链接,再用这个方法就特别好用了。
  谢邀。这个问题其实并不大。这么多第三方来工具里面比较好用的是比特大陆出的第三方工具,
  用api同步新浪微博内容至站点是目前很主流的思路,开源的工具有如:比特大陆的wiki.github.io。但这个方法只支持https,如果http地址要使用跳转。同时,如果要用基于ip的跳转,需要外网三十五要一个appid。
  我觉得你这个应该是有跨域吧,不过问题不大,这个要和站长反应,站长也没办法,最好的就是小站,小站用ajax机制解决跨域问题,要不然域名绑定完了,跳转没有跨域解决方案,域名绑定好了,做ajax机制的一定要尽可能多的跳转,我们就是这样,不然站长还要回来找工作了,估计站长不会回来找你,就算回来,如果你不能跳转,估计站长也会考虑是不是你网站不合适服务器问题,要不然可能就不回来工作了。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站可以考虑
  使用新浪微博开放平台api同步微博内容至自己网站可以考虑如下方案:1.开放平台提供的api:开放平台在搜索结果中搜索新浪微博开放平台,有很多的工具可以用来做同步微博内容至自己网站的。2.不开放平台的api:使用第三方的工具:如wap微博交换工具。如果只是取代微博的话,可以看看某些微博客工具,这种工具需要绑定个人账号,且需要知道身份才能使用。相信目前第三方工具还没有普及吧。3.超级域名内容同步工具。
  有人说了使用第三方工具和域名绑定,其实这不是事,具体可以看看这里:使用第三方工具将新浪微博网站内容同步至微博客,尤其是无法解析到ip地址或者内容链接,再用这个方法就特别好用了。
  谢邀。这个问题其实并不大。这么多第三方来工具里面比较好用的是比特大陆出的第三方工具,
  用api同步新浪微博内容至站点是目前很主流的思路,开源的工具有如:比特大陆的wiki.github.io。但这个方法只支持https,如果http地址要使用跳转。同时,如果要用基于ip的跳转,需要外网三十五要一个appid。
  我觉得你这个应该是有跨域吧,不过问题不大,这个要和站长反应,站长也没办法,最好的就是小站,小站用ajax机制解决跨域问题,要不然域名绑定完了,跳转没有跨域解决方案,域名绑定好了,做ajax机制的一定要尽可能多的跳转,我们就是这样,不然站长还要回来找工作了,估计站长不会回来找你,就算回来,如果你不能跳转,估计站长也会考虑是不是你网站不合适服务器问题,要不然可能就不回来工作了。

微博开放平台如何将网站接入新浪微博平台并申请API

网站优化优采云 发表了文章 • 0 个评论 • 92 次浏览 • 2021-06-26 05:31 • 来自相关话题

  微博开放平台如何将网站接入新浪微博平台并申请API
  微博开放平台(Weibo Open Platform)是基于微博海量用户和强大传播能力,接入第三方合作伙伴服务,为用户提供丰富应用和综合服务的开放平台。将您的服务连接到微博平台将有助于推广产品,增加网站/应用程序的流量,扩大新用户并获得收入。通过将网站接入新浪微博开放平台,我们可以轻松实现网站的微博登录、文章分享到微博、微博直播、一键关注微博等操作,扩展网站社交功能。下面我们来一步一步看一下如何将网站连接到新浪微博平台并申请API。
  1、注册一个新浪微博账号,并使用该账号登录新浪微博开放平台。账号注册和登录网站基本一致,这里不再赘述。登录后,点击微链接,您会在网页上看到“立即创建微链接”按钮。点击此按钮开始网站与微博开放平台的连接。
  
  2、点击“立即创建微连接”,会弹出一个对话框“选择你要创建的应用类型”,因为我们的博客网站是通过微博开放平台连接的,所以选择这里的“网站access”方法。
  
  3、选择“网站访问”方式,会让我们填写网站相关信息,包括网站名,网站域名,因为审核后的app会影响我们网站具有一定的监控权限,所以这里的主要目的是验证我们对网站的所有权。建议使用文件验证。我们只需要把验证文件放到网站root目录下,操作方便。
  
  4、 输入网站信息后点击“验证并添加”按钮,网页会自动跳转到“我的应用”页面,我们需要点击刚刚验证的网站进行部署微连接。
  
  5、点击应用名称进入应用管理界面,在该界面下我们可以部署应用,具体部署内容需要根据我们网站的情况来确定,当然我们也可以直接点击“提交审核”进入下一阶段,您可以稍后对具体部署内容进行更改。
  
  6、投稿审核界面,我们需要进一步完善网站信息,以便新浪微博开放平台的工作人员可以审核我们的网站。全部完成后,点击提交审核。
  
  7、理论上需要等待审核通过后才能使用,但是如果我们只需要微博登录功能,可以使用下面的“部署微连接/微博登录”选项应用控制面板中获取应用的“App Key”和“App Secret”。
  
  当然,微博开放平台的功能还不止这些。您可以自行探索更多功能。 查看全部

  微博开放平台如何将网站接入新浪微博平台并申请API
  微博开放平台(Weibo Open Platform)是基于微博海量用户和强大传播能力,接入第三方合作伙伴服务,为用户提供丰富应用和综合服务的开放平台。将您的服务连接到微博平台将有助于推广产品,增加网站/应用程序的流量,扩大新用户并获得收入。通过将网站接入新浪微博开放平台,我们可以轻松实现网站的微博登录、文章分享到微博、微博直播、一键关注微博等操作,扩展网站社交功能。下面我们来一步一步看一下如何将网站连接到新浪微博平台并申请API。
  1、注册一个新浪微博账号,并使用该账号登录新浪微博开放平台。账号注册和登录网站基本一致,这里不再赘述。登录后,点击微链接,您会在网页上看到“立即创建微链接”按钮。点击此按钮开始网站与微博开放平台的连接。
  
  2、点击“立即创建微连接”,会弹出一个对话框“选择你要创建的应用类型”,因为我们的博客网站是通过微博开放平台连接的,所以选择这里的“网站access”方法。
  
  3、选择“网站访问”方式,会让我们填写网站相关信息,包括网站名,网站域名,因为审核后的app会影响我们网站具有一定的监控权限,所以这里的主要目的是验证我们对网站的所有权。建议使用文件验证。我们只需要把验证文件放到网站root目录下,操作方便。
  
  4、 输入网站信息后点击“验证并添加”按钮,网页会自动跳转到“我的应用”页面,我们需要点击刚刚验证的网站进行部署微连接。
  
  5、点击应用名称进入应用管理界面,在该界面下我们可以部署应用,具体部署内容需要根据我们网站的情况来确定,当然我们也可以直接点击“提交审核”进入下一阶段,您可以稍后对具体部署内容进行更改。
  
  6、投稿审核界面,我们需要进一步完善网站信息,以便新浪微博开放平台的工作人员可以审核我们的网站。全部完成后,点击提交审核。
  
  7、理论上需要等待审核通过后才能使用,但是如果我们只需要微博登录功能,可以使用下面的“部署微连接/微博登录”选项应用控制面板中获取应用的“App Key”和“App Secret”。
  
  当然,微博开放平台的功能还不止这些。您可以自行探索更多功能。

如何同步日志到新浪连接插件来使用新浪微博的方法

网站优化优采云 发表了文章 • 0 个评论 • 98 次浏览 • 2021-06-24 23:05 • 来自相关话题

  如何同步日志到新浪连接插件来使用新浪微博的方法
  此功能已集成到新浪连接插件中。请直接下载Sina Connect插件,使用WordPress博客日志同步到新浪微博的功能。
  之前介绍了新浪微博的开放API以及使用新浪API的OAuth协议创建一个新浪连接插件。您可以使用新浪微博账号登录WordPress博客。今天我将介绍如何将WordPress博客日志同步到新浪微博并同步日志。去新浪微博很简单。我介绍了同步到地谷、雷侯等微博。同步到新浪微博的方法基本相同。有两个步骤:
  首先,我们创建一个函数来更新新浪微博的状态。这里我使用的是WordPress自带的WP_Http类(关于WP_HTTP的介绍,可以查看这个文章:如何在WordPress中发起HTTP请求):
  
function update_sina_t($status){
    $username = "你的新浪微博的帐号";
    $password = "你的新浪微博的密码";
    $api_url = 'http://api.t.sina.com.cn/statuses/update.json';
    $body = array( 'status' => $status,'source'=>'3279848611');
    $headers = array( 'Authorization' => 'Basic '.base64_encode("$username:$password") );
    $request = new WP_Http;
    $result = $request->request( $api_url , array( 'method' => 'POST', 'body' => $body, 'headers' => $headers ) );
}
  在上面的代码中,您需要在相应的地方输入您的新浪微博账号和密码。
  那么WordPress日志发布后的钩子就是publish_post。我们可以在执行这个动作的时候执行上面的函数来同步WordPress博客日志到新浪微博。但是在WordPress后台任何点击更新日志都会触发这个动作,所以我们需要使用自定义字段来记录日志是否已经同步到新浪微博:
  将以上两段代码复制到主题的functions.php文件中。当然你也可以直接下载这个文件(wp-sina-t.zip)上传到插件目录,然后激活。
  PS:我的新浪微博是:denisha,欢迎大家观看!
  ©我爱水煮鱼,本站推荐的主机:阿里云。国外主机推荐使用 BlueHost。 查看全部

  如何同步日志到新浪连接插件来使用新浪微博的方法
  此功能已集成到新浪连接插件中。请直接下载Sina Connect插件,使用WordPress博客日志同步到新浪微博的功能。
  之前介绍了新浪微博的开放API以及使用新浪API的OAuth协议创建一个新浪连接插件。您可以使用新浪微博账号登录WordPress博客。今天我将介绍如何将WordPress博客日志同步到新浪微博并同步日志。去新浪微博很简单。我介绍了同步到地谷、雷侯等微博。同步到新浪微博的方法基本相同。有两个步骤:
  首先,我们创建一个函数来更新新浪微博的状态。这里我使用的是WordPress自带的WP_Http类(关于WP_HTTP的介绍,可以查看这个文章:如何在WordPress中发起HTTP请求):
  
function update_sina_t($status){
    $username = "你的新浪微博的帐号";
    $password = "你的新浪微博的密码";
    $api_url = 'http://api.t.sina.com.cn/statuses/update.json';
    $body = array( 'status' => $status,'source'=>'3279848611');
    $headers = array( 'Authorization' => 'Basic '.base64_encode("$username:$password") );
    $request = new WP_Http;
    $result = $request->request( $api_url , array( 'method' => 'POST', 'body' => $body, 'headers' => $headers ) );
}
  在上面的代码中,您需要在相应的地方输入您的新浪微博账号和密码。
  那么WordPress日志发布后的钩子就是publish_post。我们可以在执行这个动作的时候执行上面的函数来同步WordPress博客日志到新浪微博。但是在WordPress后台任何点击更新日志都会触发这个动作,所以我们需要使用自定义字段来记录日志是否已经同步到新浪微博:
  将以上两段代码复制到主题的functions.php文件中。当然你也可以直接下载这个文件(wp-sina-t.zip)上传到插件目录,然后激活。
  PS:我的新浪微博是:denisha,欢迎大家观看!
  ©我爱水煮鱼,本站推荐的主机:阿里云。国外主机推荐使用 BlueHost。

PHP下通过API实现与新浪微博同步应用测试好多次

网站优化优采云 发表了文章 • 0 个评论 • 91 次浏览 • 2021-06-24 22:31 • 来自相关话题

  PHP下通过API实现与新浪微博同步应用测试好多次
  (转载)PHP下通过API与新浪微博同步
  我今天下午收到了一个新浪微博同步应用。我测试了很多次,终于成功了。说一下我的配置过程。欢迎大家访问我的新浪微博!
  首先,你必须有一个新浪微博账号。如果您没有,请注册一个,然后成为开发人员。可以点击微博或者直接输入网址:,选择我是开发者,然后选择创建应用。进去填写开发者信息。成功后,你会得到你的APPKEY和APPSECRET,复制并保存。
  然后去下载SDK文档,选择PHP语言,查看“通过OAuth认证”。这是我用的。点击下方链接下载并在本地解压。
  第三步,开始测试。将解压后的文件中的 weobodemo 文件夹复制到 test 目录下,也就是你的站点目录。您必须提前配置虚拟域名。如果不会,可以参考我的另一个文章,使用apache配置独立虚拟域名。
  在weibodemo文件夹下有一个配置文件config.php。打开它后,您将知道该怎么做。在其中写入您的 APPKEY 和 APPSECRET。在浏览器中打开这一层目录,自动运行index.php文件,就不会啰嗦了。
  这里你会发现出错了:Notice:Undefinedindex:SCRIPT_URIinD:\www\weibodemo\index.phponline13
  打开index.php,发现$_SERVER['SCRIPT_URI'],$_SERVER的参数根本没有这个SCRIPT_URI,就别管了,点击下面的链接,然后出现错误:对不起,该页面不存在!
  此时,估计很多人都会放弃,一时之间不知道该怎么办了。其实,不要把新浪微博的应用开发想的那么深,大多数人都能理解。仔细看看 index.php。您刚才点击的链接地址是由WeiboOAuth类中的getAuthorizeURL方法生成的,与下一个回调函数相关,即callback.php文件。
  由此,我们不难想到这个过程:首先获取本地配置文件config.php中的APPKEY和APPSECRET,然后肯定验证APPKEY是否合法,问我们是否授权这个应用同步更新微博,如果条件成立,则通过callback.php返回本地,我们可以在这个回调页面写微博,最后点击发布,从官方新浪微博登录,可以看到文章刚发的新闻,下面要注明“来自xxx”
  这个原理不难理解。把$_SERVER['SCRIPT_URI']改成我们的本地地址,也就是它所在目录的虚拟域名地址,这样就可以返回callback.php,这样就不会出现了。未到达页面的错误。比如:我本地虚拟郁闷,知道文件夹d:/www/,而我的weibodemo文件夹放在/www/下,那我把$_SERVER['SCRIPT_URI']改成后面的/callback.php没问题。
  这样就可以在显示“授权完成”后点击进入你的微博界面weobolist.php。进去之后惊呆了:挺粗糙的,没有风格,简单的html形式,哈哈,新浪微博程序员怎么这么懒?赶紧发个微博,测试一下,激动一下,哈哈。
  总结一下,其实很简单,一共只有6个文件:config.php是配置文件,通过index.php进入新浪微博的认证授权页面,返回回调。同意授权后进入php页面。 , 点击进入我的微博,进入微博发布列表页面weibolist.php,发布微博,就OK了。剩下的文件weibooauth.php是一个类文件,里面收录了很多上一节用到的类和函数。有兴趣的可以研究一下,不用管它。还有一件事。 DS_Stor什么都不知道,打开就是乱码,也没关系,大概没用。
  另外,提醒我注意页面的编码格式。如有乱码,请耐心调试。 查看全部

  PHP下通过API实现与新浪微博同步应用测试好多次
  (转载)PHP下通过API与新浪微博同步
  我今天下午收到了一个新浪微博同步应用。我测试了很多次,终于成功了。说一下我的配置过程。欢迎大家访问我的新浪微博!
  首先,你必须有一个新浪微博账号。如果您没有,请注册一个,然后成为开发人员。可以点击微博或者直接输入网址:,选择我是开发者,然后选择创建应用。进去填写开发者信息。成功后,你会得到你的APPKEY和APPSECRET,复制并保存。
  然后去下载SDK文档,选择PHP语言,查看“通过OAuth认证”。这是我用的。点击下方链接下载并在本地解压。
  第三步,开始测试。将解压后的文件中的 weobodemo 文件夹复制到 test 目录下,也就是你的站点目录。您必须提前配置虚拟域名。如果不会,可以参考我的另一个文章,使用apache配置独立虚拟域名。
  在weibodemo文件夹下有一个配置文件config.php。打开它后,您将知道该怎么做。在其中写入您的 APPKEY 和 APPSECRET。在浏览器中打开这一层目录,自动运行index.php文件,就不会啰嗦了。
  这里你会发现出错了:Notice:Undefinedindex:SCRIPT_URIinD:\www\weibodemo\index.phponline13
  打开index.php,发现$_SERVER['SCRIPT_URI'],$_SERVER的参数根本没有这个SCRIPT_URI,就别管了,点击下面的链接,然后出现错误:对不起,该页面不存在!
  此时,估计很多人都会放弃,一时之间不知道该怎么办了。其实,不要把新浪微博的应用开发想的那么深,大多数人都能理解。仔细看看 index.php。您刚才点击的链接地址是由WeiboOAuth类中的getAuthorizeURL方法生成的,与下一个回调函数相关,即callback.php文件。
  由此,我们不难想到这个过程:首先获取本地配置文件config.php中的APPKEY和APPSECRET,然后肯定验证APPKEY是否合法,问我们是否授权这个应用同步更新微博,如果条件成立,则通过callback.php返回本地,我们可以在这个回调页面写微博,最后点击发布,从官方新浪微博登录,可以看到文章刚发的新闻,下面要注明“来自xxx”
  这个原理不难理解。把$_SERVER['SCRIPT_URI']改成我们的本地地址,也就是它所在目录的虚拟域名地址,这样就可以返回callback.php,这样就不会出现了。未到达页面的错误。比如:我本地虚拟郁闷,知道文件夹d:/www/,而我的weibodemo文件夹放在/www/下,那我把$_SERVER['SCRIPT_URI']改成后面的/callback.php没问题。
  这样就可以在显示“授权完成”后点击进入你的微博界面weobolist.php。进去之后惊呆了:挺粗糙的,没有风格,简单的html形式,哈哈,新浪微博程序员怎么这么懒?赶紧发个微博,测试一下,激动一下,哈哈。
  总结一下,其实很简单,一共只有6个文件:config.php是配置文件,通过index.php进入新浪微博的认证授权页面,返回回调。同意授权后进入php页面。 , 点击进入我的微博,进入微博发布列表页面weibolist.php,发布微博,就OK了。剩下的文件weibooauth.php是一个类文件,里面收录了很多上一节用到的类和函数。有兴趣的可以研究一下,不用管它。还有一件事。 DS_Stor什么都不知道,打开就是乱码,也没关系,大概没用。
  另外,提醒我注意页面的编码格式。如有乱码,请耐心调试。

新浪微博API添加应用注意事项及解决办法(组图)

网站优化优采云 发表了文章 • 0 个评论 • 94 次浏览 • 2021-06-23 03:21 • 来自相关话题

  新浪微博API添加应用注意事项及解决办法(组图)
  1.开平台
  将网站的服务封装成一系列计算机可识别的数据接口,并开放给第三方开发者使用。这种行为称为openAPI,提供开放API的平台称为开放平台。
  2.开放平台示例
  微博、微信、朋友圈、QQ、QQ空间、支付宝、印象笔记、脸书、推特
  //请求
https://api.weibo.com/oauth2/a ... Dcode
//同意授权后会重定向
http://www.example.com/response&code=CODE
Apple ID:APP Stroe 上的唯一标识
Bundle ID:手机上的唯一标识
  3.新浪微博API添加应用
  注意:
  1)Bundle ID 必须与自己的应用一致
  2)Authorization 回调 URL 不能在程序中写错,必须与开放平台上的配置一致
  4.OAuth 认证
  OAuth(开放授权)是一种开放标准。
  允许第三方在用户授权的前提下访问用户在服务提供商中存储的各种信息。
  这种授权不需要用户向第三方提供用户名和密码
  以令牌的形式完成
  OAuth 允许用户向第三方提供令牌,第三方可以使用此令牌在有效期内访问特定资源。
  代码:临时令牌
  token:真实的token
  5.授权流程
  2016-05-10 15:53:48.196 0510WeiboAPI[1109:47564] urlStr:https://api.weibo.com/oauth2/a ... u.com
  输入用户名和密码后,输出如下地址
  2016-05-10 15:54:33.062 0510WeiboAPI[1109:47564] urlStr:https://api.weibo.com/oauth2/authorize
  点击授权输出如下
  2016-05-10 15:54:38.212 0510WeiboAPI[1109:47564] urlStr:https://api.weibo.com/oauth2/authorize#
2016-05-10 15:54:38.217 0510WeiboAPI[1109:47564] urlStr:https://api.weibo.com/oauth2/authorize
2016-05-10 15:54:38.281 0510WeiboAPI[1109:47564] urlStr:https://www.baidu.com/%3Fcode% ... 58eef
  6.关于解决无法完成操作
  问题描述:运行Xcode6时,代码编译成功,但无法登录模拟器,显示错误:无法完成操作。(LaunchServicesError错误0.)
  解决方案:
  方法一:点击当前模拟器,点击IOS Simulator->Reset Content and Settings...->Reset,然后模拟器会被重置,然后编译代码登录模拟器成功
  方法二:点击Xcode->Product->Clean
  方法三:在模拟器上删除当前运行的app,重新加载(长按模拟器屏幕,点击当前报错的app删除)
  方法四:修改info.plist文件中bundle的版本号
  我遇到的问题是上述方法只能暂时解决。我修改代码的时候,重新报错,然后把我项目中的Resources(也就是存放图片的包)删除了。然后重建组,但是资源包的名字不叫Resources,然后再次clean,问题解决了,我想原因可能是我的Resources和Xcode冲突了,然后Xcode无法打包app上模拟器。
  测试界面:
  statuses/home_timeline
  获取当前登录用户及以下(授权)用户的最新微博
  网址:
  https://api.weibo.com/2/status ... .json
  支持格式:JSON
  添加参数
  网址:
  https://api.weibo.com/2/status ... .json?access_token=2.00pHInVD0D4tYV2613ba9f37MtFIeB
  测试:
  1.新浪微博
  2.举一反三腾讯微博 查看全部

  新浪微博API添加应用注意事项及解决办法(组图)
  1.开平台
  将网站的服务封装成一系列计算机可识别的数据接口,并开放给第三方开发者使用。这种行为称为openAPI,提供开放API的平台称为开放平台。
  2.开放平台示例
  微博、微信、朋友圈、QQ、QQ空间、支付宝、印象笔记、脸书、推特
  //请求
https://api.weibo.com/oauth2/a ... Dcode
//同意授权后会重定向
http://www.example.com/response&code=CODE
Apple ID:APP Stroe 上的唯一标识
Bundle ID:手机上的唯一标识
  3.新浪微博API添加应用
  注意:
  1)Bundle ID 必须与自己的应用一致
  2)Authorization 回调 URL 不能在程序中写错,必须与开放平台上的配置一致
  4.OAuth 认证
  OAuth(开放授权)是一种开放标准。
  允许第三方在用户授权的前提下访问用户在服务提供商中存储的各种信息。
  这种授权不需要用户向第三方提供用户名和密码
  以令牌的形式完成
  OAuth 允许用户向第三方提供令牌,第三方可以使用此令牌在有效期内访问特定资源。
  代码:临时令牌
  token:真实的token
  5.授权流程
  2016-05-10 15:53:48.196 0510WeiboAPI[1109:47564] urlStr:https://api.weibo.com/oauth2/a ... u.com
  输入用户名和密码后,输出如下地址
  2016-05-10 15:54:33.062 0510WeiboAPI[1109:47564] urlStr:https://api.weibo.com/oauth2/authorize
  点击授权输出如下
  2016-05-10 15:54:38.212 0510WeiboAPI[1109:47564] urlStr:https://api.weibo.com/oauth2/authorize#
2016-05-10 15:54:38.217 0510WeiboAPI[1109:47564] urlStr:https://api.weibo.com/oauth2/authorize
2016-05-10 15:54:38.281 0510WeiboAPI[1109:47564] urlStr:https://www.baidu.com/%3Fcode% ... 58eef
  6.关于解决无法完成操作
  问题描述:运行Xcode6时,代码编译成功,但无法登录模拟器,显示错误:无法完成操作。(LaunchServicesError错误0.)
  解决方案:
  方法一:点击当前模拟器,点击IOS Simulator->Reset Content and Settings...->Reset,然后模拟器会被重置,然后编译代码登录模拟器成功
  方法二:点击Xcode->Product->Clean
  方法三:在模拟器上删除当前运行的app,重新加载(长按模拟器屏幕,点击当前报错的app删除)
  方法四:修改info.plist文件中bundle的版本号
  我遇到的问题是上述方法只能暂时解决。我修改代码的时候,重新报错,然后把我项目中的Resources(也就是存放图片的包)删除了。然后重建组,但是资源包的名字不叫Resources,然后再次clean,问题解决了,我想原因可能是我的Resources和Xcode冲突了,然后Xcode无法打包app上模拟器。
  测试界面:
  statuses/home_timeline
  获取当前登录用户及以下(授权)用户的最新微博
  网址:
  https://api.weibo.com/2/status ... .json
  支持格式:JSON
  添加参数
  网址:
  https://api.weibo.com/2/status ... .json?access_token=2.00pHInVD0D4tYV2613ba9f37MtFIeB
  测试:
  1.新浪微博
  2.举一反三腾讯微博

如何通过用户名/密码的方式请参考使用scribe方式

网站优化优采云 发表了文章 • 0 个评论 • 94 次浏览 • 2021-06-21 06:17 • 来自相关话题

  如何通过用户名/密码的方式请参考使用scribe方式
  注意:本文代码已过期,请勿模仿。其他方法请参考划线法。
  最近在研究新浪微博的开发api,尝试在一些客户端应用中调用相应的api发送新浪微博。经过一番尝试,终于成功了。几个重点和对应的demo发布如下,供大家理解。
  在本文中,我主要演示如何通过用户名/密码连接到新浪微博,然后阅读最新的微博信息,最后演示如何发送一个简单的微博,其他的都可以通过相应的微博访问api 处理,这里不仔细深入。
  首先要申请开发者授权,也就是要在新浪上申请。直接通过地址:用微博账号登录后,创建一个应用程序即可。创建应用的目的是获取对应的app Key和app Secret。 app key会用到后面的主要API中,方便新浪追踪请求的来源。具体流程请自行google。
  应用完成后,我们将开始我们的api之旅。在本文中,我们没有使用官方的java sdk,因为主要目的是一个简单的演示。如果是应用开发,还是可以下载对应的java sdk应用 是的,可以查看里面的例子,了解如何调用。
  本文使用httpclient。如果使用maven,可以使用groupId作为commons-httpclient,使用artifactId作为commons-httpclient将其导入到项目中。其次,为了方便对返回数据的分析,使用了一个JSON组件(fastjson)来解析json字符串。
  获取应用授权,即允许应用访问用户的相应信息(用户名和密码除外)
  由于新浪使用的是auth2.0,所以整个登录过程分为两部分。一部分是登录授权,它允许我们的应用访问指定用户的相应信息。这里的信息不包括用户名。密码。在类网页应用中,即通过弹出新浪登录框,用户输入用户名和密码,授权应用使用。新浪通过验证后,会返回到我们的应用所在的主界面。第二部分是获取对应的token,相当于用户会话,以便在后续操作中可以使用这个token进行数据访问。
  申请授权地址为:,完整代码如下:
  获取 access_token
  api 参考接口:
  整个代码如下所示:
  获取最新微博信息列表
  api 参考接口:
  代码如下:
  发送微博消息
  API 参考:
  代码如下:
  结论
  其实整个过程还是很简单的。最重要的是前两步登录和获取授​​权。这两步就成功了,剩下的就是做一个json请求,然后传参数,得到结果,然后对结果进行处理。问题是。
  值得注意的是,第二步获取access_token,官方文档中写到可以通过grant_type=password获取token信息,即输入用户名和密码。然而,这种方法需要特殊的应用。具体的申请步骤比较复杂,必须通过官方审核,非一般开发者也能做好。所以这里就不用这个了(当然,如果你用这个方法,可以把第一步和第二步合并成一)。
  相关文章: 查看全部

  如何通过用户名/密码的方式请参考使用scribe方式
  注意:本文代码已过期,请勿模仿。其他方法请参考划线法。
  最近在研究新浪微博的开发api,尝试在一些客户端应用中调用相应的api发送新浪微博。经过一番尝试,终于成功了。几个重点和对应的demo发布如下,供大家理解。
  在本文中,我主要演示如何通过用户名/密码连接到新浪微博,然后阅读最新的微博信息,最后演示如何发送一个简单的微博,其他的都可以通过相应的微博访问api 处理,这里不仔细深入。
  首先要申请开发者授权,也就是要在新浪上申请。直接通过地址:用微博账号登录后,创建一个应用程序即可。创建应用的目的是获取对应的app Key和app Secret。 app key会用到后面的主要API中,方便新浪追踪请求的来源。具体流程请自行google。
  应用完成后,我们将开始我们的api之旅。在本文中,我们没有使用官方的java sdk,因为主要目的是一个简单的演示。如果是应用开发,还是可以下载对应的java sdk应用 是的,可以查看里面的例子,了解如何调用。
  本文使用httpclient。如果使用maven,可以使用groupId作为commons-httpclient,使用artifactId作为commons-httpclient将其导入到项目中。其次,为了方便对返回数据的分析,使用了一个JSON组件(fastjson)来解析json字符串。
  获取应用授权,即允许应用访问用户的相应信息(用户名和密码除外)
  由于新浪使用的是auth2.0,所以整个登录过程分为两部分。一部分是登录授权,它允许我们的应用访问指定用户的相应信息。这里的信息不包括用户名。密码。在类网页应用中,即通过弹出新浪登录框,用户输入用户名和密码,授权应用使用。新浪通过验证后,会返回到我们的应用所在的主界面。第二部分是获取对应的token,相当于用户会话,以便在后续操作中可以使用这个token进行数据访问。
  申请授权地址为:,完整代码如下:
  获取 access_token
  api 参考接口:
  整个代码如下所示:
  获取最新微博信息列表
  api 参考接口:
  代码如下:
  发送微博消息
  API 参考:
  代码如下:
  结论
  其实整个过程还是很简单的。最重要的是前两步登录和获取授​​权。这两步就成功了,剩下的就是做一个json请求,然后传参数,得到结果,然后对结果进行处理。问题是。
  值得注意的是,第二步获取access_token,官方文档中写到可以通过grant_type=password获取token信息,即输入用户名和密码。然而,这种方法需要特殊的应用。具体的申请步骤比较复杂,必须通过官方审核,非一般开发者也能做好。所以这里就不用这个了(当然,如果你用这个方法,可以把第一步和第二步合并成一)。
  相关文章:

第三方应用授权后会通过此URL返回应用,回调URL

网站优化优采云 发表了文章 • 0 个评论 • 82 次浏览 • 2021-06-21 06:10 • 来自相关话题

  
第三方应用授权后会通过此URL返回应用,回调URL
  RequestToken requestToken =weibo.getOAuthRequestToken("weibo4android://OAuthActivity");
  ("weibo4android://OAuthActivity"为回调URL,即用户授权第三方应用后,第三方应用会通过此URL返回给第三方应用,回调URL 作为请求参数传递给服务提供者)
  (4)会引导用户进入授权页面
  Uri uri = Uri.parse(requestToken.getAuthenticationURL()+ "&display=mobile");
startActivity(new Intent(Intent.ACTION_VIEW, uri));
  (5)授权页面需要用户输入用户名和密码,授权完成后,服务商会通过回调URL将用户引导回客户端页面OAuthActivity页面。
  (6)客户端根据临时令牌和用户授权码从服务提供方获取Access Token
  Uri uri=this.getIntent().getData();
RequestToken requestToken= OAuthConstant.getInstance().getRequestToken();
AccessToken accessToken=requestToken.getAccessToken(uri.getQueryParameter("oauth_verifier"));
  uri.getQueryParameter("oauth_verifier") 为用户授权后返回的授权码
  (7)获取access token后可以使用API​​接口获取和操作用户数据
  Weibo weibo=OAuthConstant.getInstance().getWeibo();
weibo.setToken(OAuthConstant.getInstance().getToken(), OAuthConstant.getInstance().getTokenSecret());
String[] args = new String[2];
args[0]=OAuthConstant.getInstance().getToken();
args[1]=OAuthConstant.getInstance().getTokenSecret();
try {
GetFollowers.main(args);//返回用户关注对象列表,并返回最新微博文章
} catch (Exception e) {
e.printStackTrace();
} 查看全部

  
第三方应用授权后会通过此URL返回应用,回调URL
  RequestToken requestToken =weibo.getOAuthRequestToken("weibo4android://OAuthActivity");
  ("weibo4android://OAuthActivity"为回调URL,即用户授权第三方应用后,第三方应用会通过此URL返回给第三方应用,回调URL 作为请求参数传递给服务提供者)
  (4)会引导用户进入授权页面
  Uri uri = Uri.parse(requestToken.getAuthenticationURL()+ "&display=mobile");
startActivity(new Intent(Intent.ACTION_VIEW, uri));
  (5)授权页面需要用户输入用户名和密码,授权完成后,服务商会通过回调URL将用户引导回客户端页面OAuthActivity页面。
  (6)客户端根据临时令牌和用户授权码从服务提供方获取Access Token
  Uri uri=this.getIntent().getData();
RequestToken requestToken= OAuthConstant.getInstance().getRequestToken();
AccessToken accessToken=requestToken.getAccessToken(uri.getQueryParameter("oauth_verifier"));
  uri.getQueryParameter("oauth_verifier") 为用户授权后返回的授权码
  (7)获取access token后可以使用API​​接口获取和操作用户数据
  Weibo weibo=OAuthConstant.getInstance().getWeibo();
weibo.setToken(OAuthConstant.getInstance().getToken(), OAuthConstant.getInstance().getTokenSecret());
String[] args = new String[2];
args[0]=OAuthConstant.getInstance().getToken();
args[1]=OAuthConstant.getInstance().getTokenSecret();
try {
GetFollowers.main(args);//返回用户关注对象列表,并返回最新微博文章
} catch (Exception e) {
e.printStackTrace();
}

给新手的微博SDK集成教程(CocoaPods)SDK介绍

网站优化优采云 发表了文章 • 0 个评论 • 90 次浏览 • 2021-06-21 05:38 • 来自相关话题

  给新手的微博SDK集成教程(CocoaPods)SDK介绍
  微博SDK初学者集成教程 微博SDK介绍
  WeiboSDK 是新浪微博公共接口的封装。 iOS应用开发者可以使用它来访问新浪微博的API、进行登录授权、获取用户信息、获取微博列表、发布微博等。其实它是对微博API的封装,无非是向用户发送请求新浪的服务器,然后对接收到的响应进行处理(当然不止这些,它也可以和你手机上的微博客户端进行交互)。
  微博开发者帐号
  这个没什么好说的。前往微博开放平台注册。注册后,添加一个应用,填写应用信息,得到一个AppKey(这个后面会用到)。需要注意的几点如下:
  1.Bundle ID 必须和你的App一致,否则测试会报错。
  
  2.Callback 地址通常填写默认,除非您需要在自己的服务器上处理回调。
  
  3.可以将自己的微博账号添加到测试账号中,方便测试。
  SDK 集成
  可以按照微博文档中的描述手动集成(手动添加依赖源代码、文件等到项目中,手动更改编译配置等),也可以使用CocoaPods工具自动集成。
  CocoaPods
  CocoaPods 是 iOS 开发的依赖管理工具。什么是依赖?例如,如果您开发的应用程序需要微博 SDK,则您的应用程序依赖于微博 SDK。一个实际的项目可能依赖十几个或更多的第三方库。如果每个都像微博SDK手动集成那样集成,既麻烦又不利于维护。于是神器CocoaPods诞生了。简单来说,你只需要维护一个配置文件。该文件列出了您需要集成的第三方库,然后运行命令。 CocoaPods 会自动从网上下载相关文件,然后自动为你配置整个项目。
  安装 CocoaPods
  CocoaPods 是用 Ruby 编写的。 Ruby 已经默认安装在 OS X 上,所以你可以直接使用它来安装 CocoaPods。安装前需要注意。由于众所周知的原因,国内很多网站在国外访问会很慢,比如Ruby的默认源码,不过不用担心,淘宝已经做了Ruby源码的镜像,所以在安装之前,最先把Ruby的默认源改成淘宝的镜像:
  // 删除默认源
$gem sources --remove https://rubygems.org/
// 添加淘宝的 Ruby 镜像
$gem sources -a https://ruby.taobao.org/
// 查看结果
$gem sources -l
  更换成功后就可以安装CocoaPods了:
   $sudo gem install cocoapods
  参考CocoaPods安装教程,如果你的系统升级到OS X EL Capitan,使用如下命令安装:
  $sudo gem install -n /usr/local/bin cocoapods
  安装后,运行setup,耐心等待,这一步很慢:
  $pod setup
  使用 CocoaPods 集成微博 SDK
  如前所述,您只需要提供一个配置文件,CocoaPods 会将其余的交给 CocoaPods。这个配置文件就是Podfile。假设您有一个名为 WeiboDemo.xcodeproj 的项目,在与您的 WeiboDemo.xcodeproj 文件相同的目录中创建一个名为 Podfile 的新文件(或运行 pod init),使用任何文本编辑器打开该文件,然后输入内容:
  # Uncomment this line to define a global platform for your project
platform :ios, &#39;8.0&#39;
# Uncomment this line if you&#39;re using Swift
use_frameworks!
target &#39;WeiboDemo&#39; do
pod "WeiboSDK", :git => "https://github.com/sinaweibosd ... ot%3B
end
  不要在意这个配置文件的格式。大多数时候,你只需要写 pod xxxx 之类的东西,其他的就不需要了。保存 Podfile 后,运行:
  $ pod install
  安装完成后,项目目录下会多出一个名为 WeiboDemo.xcworkspace 的文件。注意:打开项目后,不能再传原先的WeiboDemo.xcodeproj文件,需要打开WeiboDemo.xcworkspace。 CocoaPods 创建一个新的工作区,然后将你原来的项目和一个收录 CocoaPods 管理的所有第三方库的 Pods 项目添加到这个工作区。
  容易吗?如果以后需要添加其他第三方库,只需要编辑Podfile,重新运行pod install命令即可。例如,以下是我们的一个项目中使用的第三方库:
  platform :ios, &#39;8.0&#39;
inhibit_all_warnings!
use_frameworks!
pod &#39;RestKit&#39;, &#39;~> 0.25.0&#39;
pod &#39;SDWebImage&#39;, &#39;~>3.7.2&#39;
pod &#39;BlocksKit&#39;, &#39;~>2.2.5&#39;
pod &#39;pop&#39;, &#39;~> 1.0.8&#39;
pod &#39;MBProgressHUD&#39;, &#39;~> 0.8&#39;
pod "Qiniu", :git => &#39;https://github.com/KyleXie/objc-sdk.git&#39;, :branch => &#39;AFNetworking-1.x&#39;
pod &#39;KTCenterFlowLayout&#39;
pod &#39;ReactiveCocoa&#39;, &#39;4.0.4-alpha-1&#39;
pod &#39;SnapKit&#39;, &#39;~> 0.15.0&#39;
pod "SwiftAddressBook", &#39;~> 0.5.0&#39;
pod "WeiboSDK", :git => "https://github.com/sinaweibosd ... ot%3B
pod &#39;UICollectionViewLeftAlignedLayout&#39;
pod &#39;UMengAnalytics-NO-IDFA&#39;
pod &#39;Locksmith&#39;
pod &#39;iRate&#39;, :git => &#39;https://github.com/nicklockwood/iRate.git&#39;
pod &#39;TSMessages&#39;, :git => &#39;https://github.com/KrauseFx/TS ... 39%3B
  配置网址架构
  如前所述,微博SDK可以与您手机上的微博客户端进行交互(例如,您在应用程序中单击一个按钮后,直接跳转到微博应用程序中的微博应用程序)。发完这个页面,我又回到了微博。其他的比如跳微信发消息,跳支付宝付钱等等都是一样的。)有兴趣的可以看看应用间通讯。为此,我们需要配置项目的 URL Schemes。如下图,在项目的Info下,找到URL Types,点击下面的小+按钮,添加一个URL Type,标识符输入com.weibo,URL Schemes输入wb+AppKey(比如你的AppKey是 123 ,那么这里填 wb123)
  
  还没完成
  新浪微博的 SDK 是用 ObjC 编写的,你的项目可能已经在使用 Swift。这里需要添加一个桥接头文件,以便在Swift代码中调用ObjC代码。操作也很简单,只需要在项目中添加一个ObjC文件,Xcode会提示你添加WeiboDemo-Bridging-Header.h文件(WeiboDemo是项目名,也可以手动添加这个文件)。在 WeiboDemo-Bridging-Header.h 文件中添加:
  #import "WeiboSDK.h"
  达达!您可以在 Swift 代码中引用 WeiboSDK。
  (其实如果WeiboSDK是框架的话,直接使用Swift的导入框架就可以导入了,不需要添加桥接文件,其他很多第三方库都用这种方式。)
  先授权登录
  1. 集成微博SDK后,可以调用App中的微博客户端进行授权。在 AppDelegate.swift 文件中,添加以下代码:
  let appKey = "xxxxx" // 记得上面说过的 AppKey 吧?填在这里
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
WeiboSDK.enableDebugMode(true)
WeiboSDK.registerApp(appKey)
return true
}
  这里主要是微博SDK的初始化。打开调试模式,可以看到更多的调试信息,如果出现问题,也可以知道哪里出错了。
  2.只需在ViewController中添加一个登录授权按钮,并在按钮的点击事件中发送微博授权请求:
  @IBAction func onLoginBtn(sender: AnyObject) {
let request = WBAuthorizeRequest.request() as? WBAuthorizeRequest
request?.redirectURI = redirectURI
request?.scope = "all"

WeiboSDK.sendRequest(request)
}
  这段代码的意思是每当按钮没有被点击时,向微博SDK发送一个WBAuthorizeRequest请求。如果您的手机上安装了微博客户端,它会跳转到微博应用程序并请求授权。如果没有安装,会弹出一个网页,让您登录您的微博账号进行授权。
  3.这还不够。您仍然需要处理请求的返回结果。如果你不能发送请求,它就会结束。 WeiboSDK使用Cocoas开发中常用的delegate模式来处理请求的结果响应,也就是说你的请求发出后,响应的结果会在你设置的delegate中通知你。这个delegate就是WeiboSDKDelegate协议,所以需要有一个实现WeiboSDKDelegate协议的类。协议下声明了两个方法:
  /**
收到一个来自微博客户端程序的请求

收到微博的请求后,第三方应用应该按照请求类型进行处理,处理完后必须通过 [WeiboSDK sendResponse:] 将结果回传给微博
@param request 具体的请求对象
*/
- (void)didReceiveWeiboRequest:(WBBaseRequest *)request;
/**
收到一个来自微博客户端程序的响应

收到微博的响应后,第三方应用可以通过响应类型、响应的数据和 WBBaseResponse.userInfo 中的数据完成自己的功能
@param response 具体的响应对象
*/
- (void)didReceiveWeiboResponse:(WBBaseResponse *)response;
  第一个用于处理微博客户端发送的请求,第二个用于处理自己发送的请求的响应消息,比如我们刚刚发送的授权请求,它会是一个结果Deal在第二种方法中使用它。
  我们可以让 AppDelegate 类实现 WeiboSDKDelegate 协议。首先声明AppDelegate服从WeiboSDKDelegate:
  class AppDelegate: UIResponder, UIApplicationDelegate, WeiboSDKDelegate {
  然后在AppDelegate类中实现WeiboSDKDelegate的两个方法:
  func didReceiveWeiboRequest(request: WBBaseRequest!) {
if (request.isKindOfClass(WBProvideMessageForWeiboRequest)) {

}
}

func didReceiveWeiboResponse(response: WBBaseResponse!) {
if (response.isKindOfClass(WBAuthorizeResponse)) {
let message = "响应状态: \(response.statusCode.rawValue)\nresponse.userId: \((response as! WBAuthorizeResponse).userID)\nresponse.accessToken: \((response as! WBAuthorizeResponse).accessToken)\n响应UserInfo数据: \(response.userInfo)\n原请求UserInfo数据: \(response.requestUserInfo)"
let alert = UIAlertView(title: "认证结果", message: message, delegate: nil, cancelButtonTitle: "确定")
alert.show()
}
}
  由于本例中我们不需要处理微博发送给我们的消息,所以第一种方法为空。在第二种方法中,处理对 WBAuthorizeRequest 请求的响应 WBAuthorizeResponse。收到响应后,弹出窗口显示结果。
  其实整个过程类似于UITableView的delegate或者datasource。当你调用reloadData方法时,UITableView会去你为数据指定的datasource,显示多少行,每行多高,每行显示什么内容等,当你点击某一行时,UITableView会通知你等通过您设置的委托。
  4.真的是最后一个了!什么东西少了?对比一下UITableView,你会发现少了设置delegate这一步。如果你不把WeiboSDK的delegate设置为你指定的对象,它就不知道应该把这些消息发送给谁,就像UITableView一样。如果不设置数据源和委托,将无法正确显示结果。
  在 AppDelegate 中添加以下方法:
  func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool {
return WeiboSDK.handleOpenURL(url, delegate: self)
}
  如果你还记得前面提到的App之间的交互(URL Schemes),这个方法从名字上就可以看出它的用处,打开一个url,如果你在这个方法中打断,看看URL的值,你会发现:
  
  url是我们在URL Types中定义的,sourceApplication是com.sina.weibo,表示新浪微博App想要打开我们的App,我们将这条消息转发给WeiboSDK进行处理,并设置WeiboSDK的delegate对象AppDelegate 类(自我)。 (虽然我不知道这里怎么给毛设置delegate,而不是在初始化的时候设置)
  到此为止,当您运行应用程序时,点击“登录”按钮,跳转到微博或弹出网页进行登录,然后返回应用程序,您应该会看到如下弹出窗口:
  
  如果没有意外,则认为授权完成,获取access_token后,可以调用其他微博接口,比如获取用户信息,比如获取用户微博,比如发微博等这些将在下次分解。
  完整项目和代码见微博Demo 查看全部

  给新手的微博SDK集成教程(CocoaPods)SDK介绍
  微博SDK初学者集成教程 微博SDK介绍
  WeiboSDK 是新浪微博公共接口的封装。 iOS应用开发者可以使用它来访问新浪微博的API、进行登录授权、获取用户信息、获取微博列表、发布微博等。其实它是对微博API的封装,无非是向用户发送请求新浪的服务器,然后对接收到的响应进行处理(当然不止这些,它也可以和你手机上的微博客户端进行交互)。
  微博开发者帐号
  这个没什么好说的。前往微博开放平台注册。注册后,添加一个应用,填写应用信息,得到一个AppKey(这个后面会用到)。需要注意的几点如下:
  1.Bundle ID 必须和你的App一致,否则测试会报错。
  
  2.Callback 地址通常填写默认,除非您需要在自己的服务器上处理回调。
  
  3.可以将自己的微博账号添加到测试账号中,方便测试。
  SDK 集成
  可以按照微博文档中的描述手动集成(手动添加依赖源代码、文件等到项目中,手动更改编译配置等),也可以使用CocoaPods工具自动集成。
  CocoaPods
  CocoaPods 是 iOS 开发的依赖管理工具。什么是依赖?例如,如果您开发的应用程序需要微博 SDK,则您的应用程序依赖于微博 SDK。一个实际的项目可能依赖十几个或更多的第三方库。如果每个都像微博SDK手动集成那样集成,既麻烦又不利于维护。于是神器CocoaPods诞生了。简单来说,你只需要维护一个配置文件。该文件列出了您需要集成的第三方库,然后运行命令。 CocoaPods 会自动从网上下载相关文件,然后自动为你配置整个项目。
  安装 CocoaPods
  CocoaPods 是用 Ruby 编写的。 Ruby 已经默认安装在 OS X 上,所以你可以直接使用它来安装 CocoaPods。安装前需要注意。由于众所周知的原因,国内很多网站在国外访问会很慢,比如Ruby的默认源码,不过不用担心,淘宝已经做了Ruby源码的镜像,所以在安装之前,最先把Ruby的默认源改成淘宝的镜像:
  // 删除默认源
$gem sources --remove https://rubygems.org/
// 添加淘宝的 Ruby 镜像
$gem sources -a https://ruby.taobao.org/
// 查看结果
$gem sources -l
  更换成功后就可以安装CocoaPods了:
   $sudo gem install cocoapods
  参考CocoaPods安装教程,如果你的系统升级到OS X EL Capitan,使用如下命令安装:
  $sudo gem install -n /usr/local/bin cocoapods
  安装后,运行setup,耐心等待,这一步很慢:
  $pod setup
  使用 CocoaPods 集成微博 SDK
  如前所述,您只需要提供一个配置文件,CocoaPods 会将其余的交给 CocoaPods。这个配置文件就是Podfile。假设您有一个名为 WeiboDemo.xcodeproj 的项目,在与您的 WeiboDemo.xcodeproj 文件相同的目录中创建一个名为 Podfile 的新文件(或运行 pod init),使用任何文本编辑器打开该文件,然后输入内容:
  # Uncomment this line to define a global platform for your project
platform :ios, &#39;8.0&#39;
# Uncomment this line if you&#39;re using Swift
use_frameworks!
target &#39;WeiboDemo&#39; do
pod "WeiboSDK", :git => "https://github.com/sinaweibosd ... ot%3B
end
  不要在意这个配置文件的格式。大多数时候,你只需要写 pod xxxx 之类的东西,其他的就不需要了。保存 Podfile 后,运行:
  $ pod install
  安装完成后,项目目录下会多出一个名为 WeiboDemo.xcworkspace 的文件。注意:打开项目后,不能再传原先的WeiboDemo.xcodeproj文件,需要打开WeiboDemo.xcworkspace。 CocoaPods 创建一个新的工作区,然后将你原来的项目和一个收录 CocoaPods 管理的所有第三方库的 Pods 项目添加到这个工作区。
  容易吗?如果以后需要添加其他第三方库,只需要编辑Podfile,重新运行pod install命令即可。例如,以下是我们的一个项目中使用的第三方库:
  platform :ios, &#39;8.0&#39;
inhibit_all_warnings!
use_frameworks!
pod &#39;RestKit&#39;, &#39;~> 0.25.0&#39;
pod &#39;SDWebImage&#39;, &#39;~>3.7.2&#39;
pod &#39;BlocksKit&#39;, &#39;~>2.2.5&#39;
pod &#39;pop&#39;, &#39;~> 1.0.8&#39;
pod &#39;MBProgressHUD&#39;, &#39;~> 0.8&#39;
pod "Qiniu", :git => &#39;https://github.com/KyleXie/objc-sdk.git&#39;, :branch => &#39;AFNetworking-1.x&#39;
pod &#39;KTCenterFlowLayout&#39;
pod &#39;ReactiveCocoa&#39;, &#39;4.0.4-alpha-1&#39;
pod &#39;SnapKit&#39;, &#39;~> 0.15.0&#39;
pod "SwiftAddressBook", &#39;~> 0.5.0&#39;
pod "WeiboSDK", :git => "https://github.com/sinaweibosd ... ot%3B
pod &#39;UICollectionViewLeftAlignedLayout&#39;
pod &#39;UMengAnalytics-NO-IDFA&#39;
pod &#39;Locksmith&#39;
pod &#39;iRate&#39;, :git => &#39;https://github.com/nicklockwood/iRate.git&#39;
pod &#39;TSMessages&#39;, :git => &#39;https://github.com/KrauseFx/TS ... 39%3B
  配置网址架构
  如前所述,微博SDK可以与您手机上的微博客户端进行交互(例如,您在应用程序中单击一个按钮后,直接跳转到微博应用程序中的微博应用程序)。发完这个页面,我又回到了微博。其他的比如跳微信发消息,跳支付宝付钱等等都是一样的。)有兴趣的可以看看应用间通讯。为此,我们需要配置项目的 URL Schemes。如下图,在项目的Info下,找到URL Types,点击下面的小+按钮,添加一个URL Type,标识符输入com.weibo,URL Schemes输入wb+AppKey(比如你的AppKey是 123 ,那么这里填 wb123)
  
  还没完成
  新浪微博的 SDK 是用 ObjC 编写的,你的项目可能已经在使用 Swift。这里需要添加一个桥接头文件,以便在Swift代码中调用ObjC代码。操作也很简单,只需要在项目中添加一个ObjC文件,Xcode会提示你添加WeiboDemo-Bridging-Header.h文件(WeiboDemo是项目名,也可以手动添加这个文件)。在 WeiboDemo-Bridging-Header.h 文件中添加:
  #import "WeiboSDK.h"
  达达!您可以在 Swift 代码中引用 WeiboSDK。
  (其实如果WeiboSDK是框架的话,直接使用Swift的导入框架就可以导入了,不需要添加桥接文件,其他很多第三方库都用这种方式。)
  先授权登录
  1. 集成微博SDK后,可以调用App中的微博客户端进行授权。在 AppDelegate.swift 文件中,添加以下代码:
  let appKey = "xxxxx" // 记得上面说过的 AppKey 吧?填在这里
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
WeiboSDK.enableDebugMode(true)
WeiboSDK.registerApp(appKey)
return true
}
  这里主要是微博SDK的初始化。打开调试模式,可以看到更多的调试信息,如果出现问题,也可以知道哪里出错了。
  2.只需在ViewController中添加一个登录授权按钮,并在按钮的点击事件中发送微博授权请求:
  @IBAction func onLoginBtn(sender: AnyObject) {
let request = WBAuthorizeRequest.request() as? WBAuthorizeRequest
request?.redirectURI = redirectURI
request?.scope = "all"

WeiboSDK.sendRequest(request)
}
  这段代码的意思是每当按钮没有被点击时,向微博SDK发送一个WBAuthorizeRequest请求。如果您的手机上安装了微博客户端,它会跳转到微博应用程序并请求授权。如果没有安装,会弹出一个网页,让您登录您的微博账号进行授权。
  3.这还不够。您仍然需要处理请求的返回结果。如果你不能发送请求,它就会结束。 WeiboSDK使用Cocoas开发中常用的delegate模式来处理请求的结果响应,也就是说你的请求发出后,响应的结果会在你设置的delegate中通知你。这个delegate就是WeiboSDKDelegate协议,所以需要有一个实现WeiboSDKDelegate协议的类。协议下声明了两个方法:
  /**
收到一个来自微博客户端程序的请求

收到微博的请求后,第三方应用应该按照请求类型进行处理,处理完后必须通过 [WeiboSDK sendResponse:] 将结果回传给微博
@param request 具体的请求对象
*/
- (void)didReceiveWeiboRequest:(WBBaseRequest *)request;
/**
收到一个来自微博客户端程序的响应

收到微博的响应后,第三方应用可以通过响应类型、响应的数据和 WBBaseResponse.userInfo 中的数据完成自己的功能
@param response 具体的响应对象
*/
- (void)didReceiveWeiboResponse:(WBBaseResponse *)response;
  第一个用于处理微博客户端发送的请求,第二个用于处理自己发送的请求的响应消息,比如我们刚刚发送的授权请求,它会是一个结果Deal在第二种方法中使用它。
  我们可以让 AppDelegate 类实现 WeiboSDKDelegate 协议。首先声明AppDelegate服从WeiboSDKDelegate:
  class AppDelegate: UIResponder, UIApplicationDelegate, WeiboSDKDelegate {
  然后在AppDelegate类中实现WeiboSDKDelegate的两个方法:
  func didReceiveWeiboRequest(request: WBBaseRequest!) {
if (request.isKindOfClass(WBProvideMessageForWeiboRequest)) {

}
}

func didReceiveWeiboResponse(response: WBBaseResponse!) {
if (response.isKindOfClass(WBAuthorizeResponse)) {
let message = "响应状态: \(response.statusCode.rawValue)\nresponse.userId: \((response as! WBAuthorizeResponse).userID)\nresponse.accessToken: \((response as! WBAuthorizeResponse).accessToken)\n响应UserInfo数据: \(response.userInfo)\n原请求UserInfo数据: \(response.requestUserInfo)"
let alert = UIAlertView(title: "认证结果", message: message, delegate: nil, cancelButtonTitle: "确定")
alert.show()
}
}
  由于本例中我们不需要处理微博发送给我们的消息,所以第一种方法为空。在第二种方法中,处理对 WBAuthorizeRequest 请求的响应 WBAuthorizeResponse。收到响应后,弹出窗口显示结果。
  其实整个过程类似于UITableView的delegate或者datasource。当你调用reloadData方法时,UITableView会去你为数据指定的datasource,显示多少行,每行多高,每行显示什么内容等,当你点击某一行时,UITableView会通知你等通过您设置的委托。
  4.真的是最后一个了!什么东西少了?对比一下UITableView,你会发现少了设置delegate这一步。如果你不把WeiboSDK的delegate设置为你指定的对象,它就不知道应该把这些消息发送给谁,就像UITableView一样。如果不设置数据源和委托,将无法正确显示结果。
  在 AppDelegate 中添加以下方法:
  func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool {
return WeiboSDK.handleOpenURL(url, delegate: self)
}
  如果你还记得前面提到的App之间的交互(URL Schemes),这个方法从名字上就可以看出它的用处,打开一个url,如果你在这个方法中打断,看看URL的值,你会发现:
  
  url是我们在URL Types中定义的,sourceApplication是com.sina.weibo,表示新浪微博App想要打开我们的App,我们将这条消息转发给WeiboSDK进行处理,并设置WeiboSDK的delegate对象AppDelegate 类(自我)。 (虽然我不知道这里怎么给毛设置delegate,而不是在初始化的时候设置)
  到此为止,当您运行应用程序时,点击“登录”按钮,跳转到微博或弹出网页进行登录,然后返回应用程序,您应该会看到如下弹出窗口:
  
  如果没有意外,则认为授权完成,获取access_token后,可以调用其他微博接口,比如获取用户信息,比如获取用户微博,比如发微博等这些将在下次分解。
  完整项目和代码见微博Demo

爬虫直接爬去微博的方式获取微博数据的可行性

网站优化优采云 发表了文章 • 0 个评论 • 90 次浏览 • 2021-06-21 05:32 • 来自相关话题

  爬虫直接爬去微博的方式获取微博数据的可行性
  最近需要爬取微博的数据进行分析。对于新浪微博,官方提供了API,但是有几个致命的限制(调用次数限制和授权期限限制),所以我觉得有必要研究一下爬虫直接爬到微博获取微博的可行性数据。
  由于模拟登录微博是爬虫爬取微博信息的第一步,下面介绍模拟登录微博的方法(以下以新浪微博为例)。
  这个过程有两个主要步骤:
  1 脚本模拟登录新浪微博并保存cookies;
  2 获得cookie信息后,使用cookie信息直接访问微博网址。
  其中,第一步是这里讨论的重点。为了更好地模拟这一步,需要一个好的网络监控工具。可以使用Firefox的Firebug和Chrome以及IE自带的开发工具(注意IE必须是IE9以上才能有网络监控功能。Chrome的网络交互消息可以在网络部分查看)。另外,前两天发现python支持的包比较多,用python自定义自己的网络消息也比较方便,所以这里使用python作为我的开发语言。
  好的,我们先说前置工作。下面我们来分析一下用户在登录新浪微博时进行的操作。在下面的例子中,我使用 chrome 自带的开发者工具作为我的网络数据包监控工具。
  首先打开(如果你之前设置了浏览器自动记住密码并自动登录,需要明确cookie),然后通过网络监控工具,我们会发现在用户登录的过程中过程中,浏览器和服务器有3个交互如下:
  一、First Get请求获取一些参数
  在用户名字段中输入您的微博帐户,然后确认。这时候你会发现,当你的焦点离开用户名输入框时,浏览器会自动向“(v1.4.5)&_=83”发送GET请求如下:
  
  
  仔细看这个GET请求的响应内容。您会发现此 JSON 字符串收录多个参数。也许你不明白他们的意思,但没关系。现在您只需要在后续处理中知道这些参数即可。就用吧。
  二、发送POST请求
  这部分是整个登录过程的重点。该部分用于向服务器提交用户信息,服务器判断用户信息是否正确,从而判断登录是否成功。
  通过Chrome内置的开发者工具,可以观察到POST消息的相关信息(url、headers、data)。下图是我的POST消息截图:
  网址信息如下:
  
  消息的头部信息如下:
  
  POST的消息数据信息如下:
  
  接下来的工作比较简单。我们要做的就是模仿上面消息的内容和格式,用python发送一个类似的消息。在自定义类似消息之前,我觉得有必要简单说明一下上面消息中DATA形式的每一项的含义。
  其中“su”为加密用户名,“sp”为加密密码。 “servertime”、“nonce”和“rsakv”是上一步GET请求返回的JSON字符串的内容。其他参数不变。然后重点介绍“su”和“sp”的加密算法。
  1.“su”加密算法
  su 由用户名通过 BASE64 计算: su = base64.encodestring( urllib.quote(username) )[:-1];
  2.“sp”加密算法
  sp的加密算法可能会经常变化(考虑到网站的安全性,一段时间后登录修改消息格式和加密算法是正常的)。目前新浪使用的是RSA算法(如果你js比较厉害,可以直接去网页源码里找加密方法,我没找到,参考网上)。
  这里简单介绍一下RSA算法的解密过程。
  2.1 安装RSA模块,下载地址为:
  2.2 创建一个 rsa 公钥。公钥的两个参数在新浪微博上都是固定值,但都是16进制字符串。第一个是第一步登录的公钥,第二个是js加密文件中的'10001'。这两个值需要从十六进制转换为十进制,但也可以写在代码中。我直接把‘10001’写成65537
  
<p style="line-height:21px; font-family:tahoma,helvetica,arial; white-space:normal; color:rgb(69,69,69)">rsaPublickey = int(pubkey, 16)
  key = rsa.PublicKey(rsaPublickey, 65537) #创建公钥
  message = str(servertime) + &#39;\t&#39; + str(nonce) + &#39;\n&#39; + str(password)#拼接明文 js加密文件中得到
  passwd = rsa.encrypt(message, key)#加密
  passwd = binascii.b2a_hex(passwd) #将加密信息转换为16进制。
</p>
  如果上述所有步骤进展顺利,您将得到以下响应:
  
  这是一个自动重定向语句,其中收录要重定向的 URL。如果您登录正确,则此网址中的德语retcode值为0。否则,您需要仔细检查上述步骤。
  三、跳转到对应的微博页面
  上面我们已经得到了要重定向的url,所以现在我们只需要请求这个url。这里需要注意的一点是,为了让服务器知道你是否登录,这一步的请求需要用到上一步操作的cookie信息(因为第二步的登录是否成功的信息会会自动记录在cookie中),所以我们在整个程序开始时就打开cookie,以确保在以后的操作中可以正确使用cookie。同时,对于python用户,这一步不要自己自定义header,因为urllib2默认会自动打包cookie信息,如果手动自定义header,可能会遗漏cookie信息。
  在下面附上我的参考代码:
  参考文章:
  1、
  2、
  转载: 查看全部

  爬虫直接爬去微博的方式获取微博数据的可行性
  最近需要爬取微博的数据进行分析。对于新浪微博,官方提供了API,但是有几个致命的限制(调用次数限制和授权期限限制),所以我觉得有必要研究一下爬虫直接爬到微博获取微博的可行性数据。
  由于模拟登录微博是爬虫爬取微博信息的第一步,下面介绍模拟登录微博的方法(以下以新浪微博为例)。
  这个过程有两个主要步骤:
  1 脚本模拟登录新浪微博并保存cookies;
  2 获得cookie信息后,使用cookie信息直接访问微博网址。
  其中,第一步是这里讨论的重点。为了更好地模拟这一步,需要一个好的网络监控工具。可以使用Firefox的Firebug和Chrome以及IE自带的开发工具(注意IE必须是IE9以上才能有网络监控功能。Chrome的网络交互消息可以在网络部分查看)。另外,前两天发现python支持的包比较多,用python自定义自己的网络消息也比较方便,所以这里使用python作为我的开发语言。
  好的,我们先说前置工作。下面我们来分析一下用户在登录新浪微博时进行的操作。在下面的例子中,我使用 chrome 自带的开发者工具作为我的网络数据包监控工具。
  首先打开(如果你之前设置了浏览器自动记住密码并自动登录,需要明确cookie),然后通过网络监控工具,我们会发现在用户登录的过程中过程中,浏览器和服务器有3个交互如下:
  一、First Get请求获取一些参数
  在用户名字段中输入您的微博帐户,然后确认。这时候你会发现,当你的焦点离开用户名输入框时,浏览器会自动向“(v1.4.5)&_=83”发送GET请求如下:
  
  
  仔细看这个GET请求的响应内容。您会发现此 JSON 字符串收录多个参数。也许你不明白他们的意思,但没关系。现在您只需要在后续处理中知道这些参数即可。就用吧。
  二、发送POST请求
  这部分是整个登录过程的重点。该部分用于向服务器提交用户信息,服务器判断用户信息是否正确,从而判断登录是否成功。
  通过Chrome内置的开发者工具,可以观察到POST消息的相关信息(url、headers、data)。下图是我的POST消息截图:
  网址信息如下:
  
  消息的头部信息如下:
  
  POST的消息数据信息如下:
  
  接下来的工作比较简单。我们要做的就是模仿上面消息的内容和格式,用python发送一个类似的消息。在自定义类似消息之前,我觉得有必要简单说明一下上面消息中DATA形式的每一项的含义。
  其中“su”为加密用户名,“sp”为加密密码。 “servertime”、“nonce”和“rsakv”是上一步GET请求返回的JSON字符串的内容。其他参数不变。然后重点介绍“su”和“sp”的加密算法。
  1.“su”加密算法
  su 由用户名通过 BASE64 计算: su = base64.encodestring( urllib.quote(username) )[:-1];
  2.“sp”加密算法
  sp的加密算法可能会经常变化(考虑到网站的安全性,一段时间后登录修改消息格式和加密算法是正常的)。目前新浪使用的是RSA算法(如果你js比较厉害,可以直接去网页源码里找加密方法,我没找到,参考网上)。
  这里简单介绍一下RSA算法的解密过程。
  2.1 安装RSA模块,下载地址为:
  2.2 创建一个 rsa 公钥。公钥的两个参数在新浪微博上都是固定值,但都是16进制字符串。第一个是第一步登录的公钥,第二个是js加密文件中的'10001'。这两个值需要从十六进制转换为十进制,但也可以写在代码中。我直接把‘10001’写成65537
  
<p style="line-height:21px; font-family:tahoma,helvetica,arial; white-space:normal; color:rgb(69,69,69)">rsaPublickey = int(pubkey, 16)
  key = rsa.PublicKey(rsaPublickey, 65537) #创建公钥
  message = str(servertime) + &#39;\t&#39; + str(nonce) + &#39;\n&#39; + str(password)#拼接明文 js加密文件中得到
  passwd = rsa.encrypt(message, key)#加密
  passwd = binascii.b2a_hex(passwd) #将加密信息转换为16进制。
</p>
  如果上述所有步骤进展顺利,您将得到以下响应:
  
  这是一个自动重定向语句,其中收录要重定向的 URL。如果您登录正确,则此网址中的德语retcode值为0。否则,您需要仔细检查上述步骤。
  三、跳转到对应的微博页面
  上面我们已经得到了要重定向的url,所以现在我们只需要请求这个url。这里需要注意的一点是,为了让服务器知道你是否登录,这一步的请求需要用到上一步操作的cookie信息(因为第二步的登录是否成功的信息会会自动记录在cookie中),所以我们在整个程序开始时就打开cookie,以确保在以后的操作中可以正确使用cookie。同时,对于python用户,这一步不要自己自定义header,因为urllib2默认会自动打包cookie信息,如果手动自定义header,可能会遗漏cookie信息。
  在下面附上我的参考代码:
  参考文章:
  1、
  2、
  转载:

新浪微博API怎么快速学习和使用新浪API的区别?

网站优化优采云 发表了文章 • 0 个评论 • 98 次浏览 • 2021-06-21 05:30 • 来自相关话题

  新浪微博API怎么快速学习和使用新浪API的区别?
  新浪微博 API 看起来像一个不可预测的东西。的确,这不是一件很简单的事情。
  新浪微博API,当我第一次接触它时,我真的很茫然。我发现很难上手,中间经常出现错误。通常是因为缺少一些参数造成的,浪费了很多时间。调试方面,感谢我的朋友Randy的帮助和指导!
  好了,废话少说,现在给大家讲讲我的一些经验,快速学习和使用新浪API。
  第一步:申请一个新浪微博账号,登录后在这里创建一个应用。里面的信息可以随意填写(应用开发完成后回来修改)。创建后,系统会分配一个App Key和App Secret。这两个是验证开发者身份所必需的(作者会收录在下一步下载的SDK源码中,应该可以正常使用,建议替换为自己的。)
  第 2 步:下载 SDK 源代码。我用的是C#,所以我选择第二个下载。下载解压后直接用VS打开即可。
  第三步:主要的SDK源文件有oAuthBase.cs、oAuthSina.cs、ISinaApiService.cs和SinaApiService.cs。上一步提到的两个KEY在oAuthSina.cs文件的第31行,直接替换即可。
  查看 SinaApiService.cs 文件,第 63 行的 user_timeline 方法。
  这个方法没有使用OAuth授权方式(一般都是用这个方法),所以我们需要修改一下代码,增加一个新的方法如下:
  其他变化相同。此时,您可以直接使用这些 API。
  第四步:创建一个WEB项目,新建两个文件:default.aspx和SinaApiCallBack.ashx。
  default.aspx 页面显示
  SinaApiCallBack.ashx API 返回处理页面
  在default.aspx页面上做一个a标签,代码如下:
  SinaApiCallBack.ashx 页面代码如下:
  记住ashx文件在使用session时必须继承System.Web.SessionState.IReadOnlySessionState类,否则会报错。
  好的,直接运行(F5),进入首页看到登录新浪微博点击,出现新浪授权提示,登录你的新浪微博,新浪会跳转到SinaApiCallBack.ashx页面。你看到了吗?这是XML格式的内容,还有JSON格式,然后你就可以把这些数据处理成你自己需要的数据了。
  在这里,您可以开发自己的微博应用程序。是不是没有你想的那么难?
  一开始,不要研究SDK的东西,所以你可能会被这个难住。 SDK里面的东西我还不是很懂,笑笑吧。
  我还有一个xml处理类和一个SinaMUser用户模型类,一起可以轻松处理新浪返回的XML文档。
  我稍后会发布这些文件。
  我在这里做广告。希望大家支持我自己开发的新浪应用。
  如果有什么问题或者建议,可以一起讨论研究。 查看全部

  新浪微博API怎么快速学习和使用新浪API的区别?
  新浪微博 API 看起来像一个不可预测的东西。的确,这不是一件很简单的事情。
  新浪微博API,当我第一次接触它时,我真的很茫然。我发现很难上手,中间经常出现错误。通常是因为缺少一些参数造成的,浪费了很多时间。调试方面,感谢我的朋友Randy的帮助和指导!
  好了,废话少说,现在给大家讲讲我的一些经验,快速学习和使用新浪API。
  第一步:申请一个新浪微博账号,登录后在这里创建一个应用。里面的信息可以随意填写(应用开发完成后回来修改)。创建后,系统会分配一个App Key和App Secret。这两个是验证开发者身份所必需的(作者会收录在下一步下载的SDK源码中,应该可以正常使用,建议替换为自己的。)
  第 2 步:下载 SDK 源代码。我用的是C#,所以我选择第二个下载。下载解压后直接用VS打开即可。
  第三步:主要的SDK源文件有oAuthBase.cs、oAuthSina.cs、ISinaApiService.cs和SinaApiService.cs。上一步提到的两个KEY在oAuthSina.cs文件的第31行,直接替换即可。
  查看 SinaApiService.cs 文件,第 63 行的 user_timeline 方法。
  这个方法没有使用OAuth授权方式(一般都是用这个方法),所以我们需要修改一下代码,增加一个新的方法如下:
  其他变化相同。此时,您可以直接使用这些 API。
  第四步:创建一个WEB项目,新建两个文件:default.aspx和SinaApiCallBack.ashx。
  default.aspx 页面显示
  SinaApiCallBack.ashx API 返回处理页面
  在default.aspx页面上做一个a标签,代码如下:
  SinaApiCallBack.ashx 页面代码如下:
  记住ashx文件在使用session时必须继承System.Web.SessionState.IReadOnlySessionState类,否则会报错。
  好的,直接运行(F5),进入首页看到登录新浪微博点击,出现新浪授权提示,登录你的新浪微博,新浪会跳转到SinaApiCallBack.ashx页面。你看到了吗?这是XML格式的内容,还有JSON格式,然后你就可以把这些数据处理成你自己需要的数据了。
  在这里,您可以开发自己的微博应用程序。是不是没有你想的那么难?
  一开始,不要研究SDK的东西,所以你可能会被这个难住。 SDK里面的东西我还不是很懂,笑笑吧。
  我还有一个xml处理类和一个SinaMUser用户模型类,一起可以轻松处理新浪返回的XML文档。
  我稍后会发布这些文件。
  我在这里做广告。希望大家支持我自己开发的新浪应用。
  如果有什么问题或者建议,可以一起讨论研究。

如何用API提交数据(获取最新更新的20条公共微博消息)

网站优化优采云 发表了文章 • 0 个评论 • 78 次浏览 • 2021-06-20 03:29 • 来自相关话题

  如何用API提交数据(获取最新更新的20条公共微博消息)
  我也是新手,第一次使用开放平台进行开发。一开始,我觉得无处可去。经过长时间的摸索,终于成功调用了API。现在把这个经验介绍给新手(高手不用看,当然,如果你能提出一些意见和建议,我感激不尽),愿与你交流。
  这个例子描述了如何使用API​​提交数据(发布微博)和使用API​​获取数据(获取最新更新的20条公共微博消息),即“获取下游数据集(时间线)”官方API)“statuses/public_timeline下的“获取最新更新的公众微博消息接口”和“statuses/update发布微博信息”下的“微博访问接口”。
  首先,您必须有新浪微博账号,并申请一个app key(详情请参考%E6%96%B0%E6%89%8B%E6%8C%87%E5%8D%97) ,然后在VS中新建一个解决方案,在解决方案中添加一个类库和一个网站,并添加一个引用(网站引用类库)。
  
  因为发布微博是POST请求,获取数据是GET请求,并且通过HTTP基本认证(Basic Authentication)授权,所以我把这些函数写在一个类中(在类库中),代码如下(这个类仅供参考,没有仔细考虑是否通用):
  
  发送请求和授权码
  然后在类库中创建两个实体类status和user,字段与官方API相同:
  
  状态实体类
  
  用户实体类
  好的,经过以上步骤,准备工作就完成了,现在可以调用API了。让我们看看发布一条微博消息。虽然在这篇文章() 中有介绍,但为了本文的完整性,我还是把它贴出来。上传我的代码,在类库中添加一个微博访问类MiniBlogVisit类:
  
  微博访问班
  您可以通过调用更新方法发布微博。但需要注意的是,这里的Content必须使用HttpUtility.UrlEncode进行编码,否则会出现乱码。
  最新更新看20条公众微博消息,这是官方API中的第一个接口。这是 XML 数据或 JSON 数据。您可以根据自己的喜好自由选择。我选择返回 XML。数据。我的方法是将返回的XML数据写入XML文件,然后解析XML文件。代码如下:
  
  获取数据代码
  好的,现在它被调用了。调用比较简单,是一个空的Default.aspx页面,后台代码如下:
  
  呼叫代码
  至此,所有代码都写完了,来看看完整的解决方案:
  
  运行后效果如下:
  
  这是我第一次调用API,也是第一次写这么长的文章。欢迎大家! ! ! 查看全部

  如何用API提交数据(获取最新更新的20条公共微博消息)
  我也是新手,第一次使用开放平台进行开发。一开始,我觉得无处可去。经过长时间的摸索,终于成功调用了API。现在把这个经验介绍给新手(高手不用看,当然,如果你能提出一些意见和建议,我感激不尽),愿与你交流。
  这个例子描述了如何使用API​​提交数据(发布微博)和使用API​​获取数据(获取最新更新的20条公共微博消息),即“获取下游数据集(时间线)”官方API)“statuses/public_timeline下的“获取最新更新的公众微博消息接口”和“statuses/update发布微博信息”下的“微博访问接口”。
  首先,您必须有新浪微博账号,并申请一个app key(详情请参考%E6%96%B0%E6%89%8B%E6%8C%87%E5%8D%97) ,然后在VS中新建一个解决方案,在解决方案中添加一个类库和一个网站,并添加一个引用(网站引用类库)。
  
  因为发布微博是POST请求,获取数据是GET请求,并且通过HTTP基本认证(Basic Authentication)授权,所以我把这些函数写在一个类中(在类库中),代码如下(这个类仅供参考,没有仔细考虑是否通用):
  
  发送请求和授权码
  然后在类库中创建两个实体类status和user,字段与官方API相同:
  
  状态实体类
  
  用户实体类
  好的,经过以上步骤,准备工作就完成了,现在可以调用API了。让我们看看发布一条微博消息。虽然在这篇文章() 中有介绍,但为了本文的完整性,我还是把它贴出来。上传我的代码,在类库中添加一个微博访问类MiniBlogVisit类:
  
  微博访问班
  您可以通过调用更新方法发布微博。但需要注意的是,这里的Content必须使用HttpUtility.UrlEncode进行编码,否则会出现乱码。
  最新更新看20条公众微博消息,这是官方API中的第一个接口。这是 XML 数据或 JSON 数据。您可以根据自己的喜好自由选择。我选择返回 XML。数据。我的方法是将返回的XML数据写入XML文件,然后解析XML文件。代码如下:
  
  获取数据代码
  好的,现在它被调用了。调用比较简单,是一个空的Default.aspx页面,后台代码如下:
  
  呼叫代码
  至此,所有代码都写完了,来看看完整的解决方案:
  
  运行后效果如下:
  
  这是我第一次调用API,也是第一次写这么长的文章。欢迎大家! ! !

SDK使用方法申请应用创建应用开发者资料填写高级信息

网站优化优采云 发表了文章 • 0 个评论 • 77 次浏览 • 2021-06-19 05:13 • 来自相关话题

  
SDK使用方法申请应用创建应用开发者资料填写高级信息
  
  微博SDK介绍
  项目需求需要开发一个新浪微博回复机器人的小工具。经研究,使用新浪微博开放平台提供的API接口最为方便。
  新浪微博开放平台-首页
  利用新浪微博开放平台的API接口,您可以轻松实现微博查询、用户查询、微博回复等各种功能。使用官方SDK工具,可以实现代码自动执行微博模拟操作行为。官方提供了多种语言的SDK工具,包括Python包(廖雪峰老师提供)、本文使用的Java包等
  如何使用 SDK 申请应用
  
  创建应用程序
  
  填写开发者信息
  
  高级信息
  
  基本信息 应用开发
  接口开发请参考官方wiki,或查看自己的“接口管理”模块中当前可用的API接口信息。
  代码导入
  原作者使用eclipse进行开发。使用IntelliJ IDEA开发的同学可以直接导入,选择eclipse导入即可。
  代码中用到的jar包直接放在lib目录下。我们可以使用maven导入对应的jar包,主要包括log包和http包。具体依赖如下:
  

commons-httpclient
commons-httpclient
3.1


log4j
log4j
1.2.17


org.slf4j
slf4j-log4j12
2.0.0-alpha1


  将用于参数设置的properties文件放在resources目录下,并重新设置参数值,填写已申请的应用特定参数。详情如下:
  
  config.properties 代码结构
  
  代码结构
  如上图-http包下的代码主要用于发送和接收请求-model包封装了微博中使用的实体对象。包括Comment、MySSLSocketFactory、Trend等对象——oauth包是自己添加的。其中的代码用于设置accessToken。具体来说,修改config.properties文件中的参数后,运行包下的OAuth4Code.java会自动跳转到授权页面。在重定向的 URL 的末尾,会携带 code 参数。填入code参数后,会生成最终的accessToken。该accessToken值将作为后面查询、回复等接口开发的身份认证信息。 -解析org.json包下的JSON数据进行查询、回复等步骤-utils包下的代码收录数据封装类、数据编码转换类等实用类。 查看全部

  
SDK使用方法申请应用创建应用开发者资料填写高级信息
  
  微博SDK介绍
  项目需求需要开发一个新浪微博回复机器人的小工具。经研究,使用新浪微博开放平台提供的API接口最为方便。
  新浪微博开放平台-首页
  利用新浪微博开放平台的API接口,您可以轻松实现微博查询、用户查询、微博回复等各种功能。使用官方SDK工具,可以实现代码自动执行微博模拟操作行为。官方提供了多种语言的SDK工具,包括Python包(廖雪峰老师提供)、本文使用的Java包等
  如何使用 SDK 申请应用
  
  创建应用程序
  
  填写开发者信息
  
  高级信息
  
  基本信息 应用开发
  接口开发请参考官方wiki,或查看自己的“接口管理”模块中当前可用的API接口信息。
  代码导入
  原作者使用eclipse进行开发。使用IntelliJ IDEA开发的同学可以直接导入,选择eclipse导入即可。
  代码中用到的jar包直接放在lib目录下。我们可以使用maven导入对应的jar包,主要包括log包和http包。具体依赖如下:
  

commons-httpclient
commons-httpclient
3.1


log4j
log4j
1.2.17


org.slf4j
slf4j-log4j12
2.0.0-alpha1


  将用于参数设置的properties文件放在resources目录下,并重新设置参数值,填写已申请的应用特定参数。详情如下:
  
  config.properties 代码结构
  
  代码结构
  如上图-http包下的代码主要用于发送和接收请求-model包封装了微博中使用的实体对象。包括Comment、MySSLSocketFactory、Trend等对象——oauth包是自己添加的。其中的代码用于设置accessToken。具体来说,修改config.properties文件中的参数后,运行包下的OAuth4Code.java会自动跳转到授权页面。在重定向的 URL 的末尾,会携带 code 参数。填入code参数后,会生成最终的accessToken。该accessToken值将作为后面查询、回复等接口开发的身份认证信息。 -解析org.json包下的JSON数据进行查询、回复等步骤-utils包下的代码收录数据封装类、数据编码转换类等实用类。

新浪微博基本没用过,只是听说过抽奖活动注册的

网站优化优采云 发表了文章 • 0 个评论 • 75 次浏览 • 2021-06-19 05:08 • 来自相关话题

  新浪微博基本没用过,只是听说过抽奖活动注册的
  这几天做了一个关于连接新浪微博界面的话题。嘿嘿,我可能过时了。我基本没用过微博。我只是听说我因为彩票而注册了一个。好了,废话少说,这次遇到的问题我来跟大家分享一下。可能对那些还没有开始的人有帮助。
  首先,您必须有一个新浪微博帐号。这次我重新申请了。注册时总是提示。系统繁忙,请稍后重试。我好久没注册了。最后,我先注册了msn,然后绑定了新浪微博。拥有帐户后,转到该页面并创建一个应用程序。基本上所有关于新浪微博的手册都可以在这里找到。单击“我是开发人员”,然后单击“创建应用程序”。然后填写信息。完成后可以获得App Key和App Secret。将使用这两个短期项目。
  然后去下载java sdk。这是新浪微博提供的官方示例。里面有各种各样的例子。访问 call.jsp 时,会进行 oauth 认证。具体什么是oauth认证,可以查一下。我不会在这里谈论它。看看那个例子。看了一下新浪微博上的界面,发现这个话题不难,但是发现没发帖就得登录。在上面的调查中,据说oauth_verifier只能使用一次,之前从未接触过oauth。我不知道怎么登录一次,也不必登录。查了一下。原来,调用回调页面后,如果登录成功,accessToken就保存在session中。 (呵呵,我一开始保存了oauth_verifier和resToken,所以不行,主要是当时不知道原理),所以登录就解决了。后来我提到了网站,这是一个马自达微博话题。发现他的单点登录(即登录他们的网站后,新浪微博不需要登录,或者登录新浪微博后,他们不需要登录他们的网站),产品看到这个之后,我要这个效果。我一直在寻找很长时间。他们都介绍了新浪的同步登录是如何实现的,但是我还没有找到第三方同步登录的方法。后来无意中发现他的登录框是iframe,监控后发现状态码是304,复制那个地址。乍一看,我很依赖它。原来这个话题是新浪开发的,然后用那个域名重定向了。后来咨询了新浪的技术,得知自己登录网站后,并没有登录新浪。哎,这件事害了我快一天了。也可以在某个话题下访问微博。新浪提供的js认证登录也是有问题的。
   查看全部

  新浪微博基本没用过,只是听说过抽奖活动注册的
  这几天做了一个关于连接新浪微博界面的话题。嘿嘿,我可能过时了。我基本没用过微博。我只是听说我因为彩票而注册了一个。好了,废话少说,这次遇到的问题我来跟大家分享一下。可能对那些还没有开始的人有帮助。
  首先,您必须有一个新浪微博帐号。这次我重新申请了。注册时总是提示。系统繁忙,请稍后重试。我好久没注册了。最后,我先注册了msn,然后绑定了新浪微博。拥有帐户后,转到该页面并创建一个应用程序。基本上所有关于新浪微博的手册都可以在这里找到。单击“我是开发人员”,然后单击“创建应用程序”。然后填写信息。完成后可以获得App Key和App Secret。将使用这两个短期项目。
  然后去下载java sdk。这是新浪微博提供的官方示例。里面有各种各样的例子。访问 call.jsp 时,会进行 oauth 认证。具体什么是oauth认证,可以查一下。我不会在这里谈论它。看看那个例子。看了一下新浪微博上的界面,发现这个话题不难,但是发现没发帖就得登录。在上面的调查中,据说oauth_verifier只能使用一次,之前从未接触过oauth。我不知道怎么登录一次,也不必登录。查了一下。原来,调用回调页面后,如果登录成功,accessToken就保存在session中。 (呵呵,我一开始保存了oauth_verifier和resToken,所以不行,主要是当时不知道原理),所以登录就解决了。后来我提到了网站,这是一个马自达微博话题。发现他的单点登录(即登录他们的网站后,新浪微博不需要登录,或者登录新浪微博后,他们不需要登录他们的网站),产品看到这个之后,我要这个效果。我一直在寻找很长时间。他们都介绍了新浪的同步登录是如何实现的,但是我还没有找到第三方同步登录的方法。后来无意中发现他的登录框是iframe,监控后发现状态码是304,复制那个地址。乍一看,我很依赖它。原来这个话题是新浪开发的,然后用那个域名重定向了。后来咨询了新浪的技术,得知自己登录网站后,并没有登录新浪。哎,这件事害了我快一天了。也可以在某个话题下访问微博。新浪提供的js认证登录也是有问题的。
  

,和app-secret登陆微博开放平台创建应用名称的授权回调页

网站优化优采云 发表了文章 • 0 个评论 • 82 次浏览 • 2021-06-19 05:04 • 来自相关话题

  ,和app-secret登陆微博开放平台创建应用名称的授权回调页
  一.创建应用程序
  创建应用的目的是获取app-key和app-secret,设置授权回调页面。
  (1)Get app-key 和 app-secret
  登录微博开放平台创建应用
  
  随意填写应用名称及后续信息。填写完成后,无需提交审核。您所需要的只是应用程序密钥和应用程序机密。应用创建成功后,可以在“我的应用”中看到新创建的应用的详细信息,在“应用信息”中可以找到App Key和App Secret,后面会用到。
  
  (2)设置授权回调页面
  在上面的旁边,打开“申请信息”中的“高级信息”,然后点击“高级信息”中的“编辑”按钮,将“授权回调页面”设置为:同时设置“取消授权回调页面”为:。至此,第一步已经完成。
  
  二.安装微博SDK
  (1)授权机制
  %E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E
  (2)下载微博SDK
  微博 SDK 支持多种语言。本文以python SDK为例来说明操作。微博SDK链接,点击进入并选择您熟悉的语言的SDK,如下图:
  
  安装python版微博SDK:
  直接在命令行下输入
  pip install sinaweibopy3
  或者去 Gethub 下载库
  获取代码和令牌信息
  from weibo import APIClient

# 1.配置
APP_KEY = &#39;你的APP_KEY&#39;
APP_SECRET = &#39;你的APP_SECRET&#39;
CALLBACK_URL = &#39;你的CALLBACK_URL&#39; # 回调授权页面,用户完成授权后返回的页面

# 2.调用APIClient生成client实例
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)

# 3.得到授权页面的url
url = client.get_authorize_url()
print(url)

# 4.点击访问url,在浏览器端获得code
code = &#39;6ecdbf350f0680a6f00cc8c34ae721a6&#39;
req = client.request_access_token(code)
client.set_access_token(req.get(&#39;access_token&#39;), req.get(&#39;expires_in&#39;))

# 5.调用微博普通读取接口,返回最新的公共微博。
# 接口详情见 https://open.weibo.com/wiki/2/ ... eline
statuses = client.statuses__public_timeline()[&#39;statuses&#39;]
print(len(statuses))
# 6.输出部分信息
for i in range(0, len(statuses)):
print(u&#39;昵称:&#39; + statuses[i][&#39;user&#39;][&#39;screen_name&#39;])
print(u&#39;简单介绍:&#39; + statuses[i][&#39;user&#39;][&#39;description&#39;])
print(u&#39;位置:&#39; + statuses[i][&#39;user&#39;][&#39;location&#39;])
print(u&#39;微博:&#39; + statuses[i][&#39;text&#39;])
print(statuses[i])
  通过模拟登录获取验证码
  from weibo import APIClient
from selenium import webdriver
import time
APP_KEY=&#39;填入你的key&#39;
APP_SECRET=&#39;填入你的secret&#39;
CALLBACK_URL = &#39;https://api.weibo.com/oauth2/default.html
# callback url
#在网站放置“使用微博账号登录”的链接,当用户点击链接后,引导用户跳转至如下地址:
#利用官方微博SDK
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
#得到授权页面的url,利用webbrowser打开这个url
url = client.get_authorize_url()
river.get(url)
time.sleep(3)
#填充用户名 密码
driver.find_elements_by_id("userId")[0].send_keys("自己的账户")
driver.find_elements_by_id("passwd")[0].send_keys("密码")
time.sleep(5)
driver.find_element_by_class_name("WB_btn_login").click()
# print(driver.page_source)
if &#39;验证码:&#39; in driver.page_source:
img_ele=driver.find_element_by_xpath(&#39;//img[@node-type="pincode"]&#39;)
image_url = img_ele.get_attribute(&#39;src&#39;)
print(image_url)
if image_url != None:
import requests
response=requests.get(image_url)
with open(&#39;pincode.jpg&#39;, &#39;wb&#39;) as f:
f.write(response.content)
vares_img=input(&#39;请输入:\n&#39;)
driver.find_element_by_class_name(&#39;WB_iptxt&#39;).send_keys(vares_img)
driver.find_element_by_class_name("WB_btn_login").click()
print(&#39;成功登录微博&#39;)
time.sleep(5)
content = driver.current_url
# 设置得到的access_token
print(content)
#获取code=后面的内容
用正则匹配
code = re.complish(r"code=")findall(comtent)
r = client.request_access_token(code)
access_token = r.access_token # 新浪返回的token,类似abc123xyz456
expires_in = r.expires_in
# 设置得到的access_token
client.set_access_token(access_token, expires_in)
#可以打印下看看里面都有什么东西
statuses = client.statuses__friends_timeline()[&#39;statuses&#39;] #获取当前登录用户以及所关注用户(已授权)的微博
length = len(statuses)
print length
#输出了部分信息
for i in range(0,length):
print u&#39;昵称:&#39;+statuses[i][&#39;user&#39;][&#39;screen_name&#39;]
print u&#39;位置:&#39;+statuses[i][&#39;user&#39;][&#39;location&#39;]
print u&#39;微博:&#39;+statuses[i][&#39;text&#39;] 查看全部

  ,和app-secret登陆微博开放平台创建应用名称的授权回调页
  一.创建应用程序
  创建应用的目的是获取app-key和app-secret,设置授权回调页面。
  (1)Get app-key 和 app-secret
  登录微博开放平台创建应用
  
  随意填写应用名称及后续信息。填写完成后,无需提交审核。您所需要的只是应用程序密钥和应用程序机密。应用创建成功后,可以在“我的应用”中看到新创建的应用的详细信息,在“应用信息”中可以找到App Key和App Secret,后面会用到。
  
  (2)设置授权回调页面
  在上面的旁边,打开“申请信息”中的“高级信息”,然后点击“高级信息”中的“编辑”按钮,将“授权回调页面”设置为:同时设置“取消授权回调页面”为:。至此,第一步已经完成。
  
  二.安装微博SDK
  (1)授权机制
  %E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E
  (2)下载微博SDK
  微博 SDK 支持多种语言。本文以python SDK为例来说明操作。微博SDK链接,点击进入并选择您熟悉的语言的SDK,如下图:
  
  安装python版微博SDK:
  直接在命令行下输入
  pip install sinaweibopy3
  或者去 Gethub 下载库
  获取代码和令牌信息
  from weibo import APIClient

# 1.配置
APP_KEY = &#39;你的APP_KEY&#39;
APP_SECRET = &#39;你的APP_SECRET&#39;
CALLBACK_URL = &#39;你的CALLBACK_URL&#39; # 回调授权页面,用户完成授权后返回的页面

# 2.调用APIClient生成client实例
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)

# 3.得到授权页面的url
url = client.get_authorize_url()
print(url)

# 4.点击访问url,在浏览器端获得code
code = &#39;6ecdbf350f0680a6f00cc8c34ae721a6&#39;
req = client.request_access_token(code)
client.set_access_token(req.get(&#39;access_token&#39;), req.get(&#39;expires_in&#39;))

# 5.调用微博普通读取接口,返回最新的公共微博。
# 接口详情见 https://open.weibo.com/wiki/2/ ... eline
statuses = client.statuses__public_timeline()[&#39;statuses&#39;]
print(len(statuses))
# 6.输出部分信息
for i in range(0, len(statuses)):
print(u&#39;昵称:&#39; + statuses[i][&#39;user&#39;][&#39;screen_name&#39;])
print(u&#39;简单介绍:&#39; + statuses[i][&#39;user&#39;][&#39;description&#39;])
print(u&#39;位置:&#39; + statuses[i][&#39;user&#39;][&#39;location&#39;])
print(u&#39;微博:&#39; + statuses[i][&#39;text&#39;])
print(statuses[i])
  通过模拟登录获取验证码
  from weibo import APIClient
from selenium import webdriver
import time
APP_KEY=&#39;填入你的key&#39;
APP_SECRET=&#39;填入你的secret&#39;
CALLBACK_URL = &#39;https://api.weibo.com/oauth2/default.html
# callback url
#在网站放置“使用微博账号登录”的链接,当用户点击链接后,引导用户跳转至如下地址:
#利用官方微博SDK
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
#得到授权页面的url,利用webbrowser打开这个url
url = client.get_authorize_url()
river.get(url)
time.sleep(3)
#填充用户名 密码
driver.find_elements_by_id("userId")[0].send_keys("自己的账户")
driver.find_elements_by_id("passwd")[0].send_keys("密码")
time.sleep(5)
driver.find_element_by_class_name("WB_btn_login").click()
# print(driver.page_source)
if &#39;验证码:&#39; in driver.page_source:
img_ele=driver.find_element_by_xpath(&#39;//img[@node-type="pincode"]&#39;)
image_url = img_ele.get_attribute(&#39;src&#39;)
print(image_url)
if image_url != None:
import requests
response=requests.get(image_url)
with open(&#39;pincode.jpg&#39;, &#39;wb&#39;) as f:
f.write(response.content)
vares_img=input(&#39;请输入:\n&#39;)
driver.find_element_by_class_name(&#39;WB_iptxt&#39;).send_keys(vares_img)
driver.find_element_by_class_name("WB_btn_login").click()
print(&#39;成功登录微博&#39;)
time.sleep(5)
content = driver.current_url
# 设置得到的access_token
print(content)
#获取code=后面的内容
用正则匹配
code = re.complish(r"code=")findall(comtent)
r = client.request_access_token(code)
access_token = r.access_token # 新浪返回的token,类似abc123xyz456
expires_in = r.expires_in
# 设置得到的access_token
client.set_access_token(access_token, expires_in)
#可以打印下看看里面都有什么东西
statuses = client.statuses__friends_timeline()[&#39;statuses&#39;] #获取当前登录用户以及所关注用户(已授权)的微博
length = len(statuses)
print length
#输出了部分信息
for i in range(0,length):
print u&#39;昵称:&#39;+statuses[i][&#39;user&#39;][&#39;screen_name&#39;]
print u&#39;位置:&#39;+statuses[i][&#39;user&#39;][&#39;location&#39;]
print u&#39;微博:&#39;+statuses[i][&#39;text&#39;]

调用微博api发新微博,网上找了很多相关教程

网站优化优采云 发表了文章 • 0 个评论 • 78 次浏览 • 2021-06-19 05:02 • 来自相关话题

  调用微博api发新微博,网上找了很多相关教程
  最近有一个项目需要调用微博API来发布新的微博。在网上找了很多相关的教程,遇到了很多坑。后来发邮件给官方发现微博官方早在2017年3月就调整了相关接口,取消了现有在线教程中的微博发送接口(updateStatus),导致调用该接口导致权限不足再次。 ,当时折腾了半天。特此发个新文章,希望大家不要掉坑。
  首先登录开放平台创建应用
  首先,您需要到微博开放平台申请开发者账号创建新应用。您可以直接使用您的微博帐户登录。登录后点击微连接选择其他,根据需要选择新建应用(客户端、网页应用和浏览器插件)。
  
  二、应用相关设置
  首先在应用信息中编辑应用的基本信息,包括应用介绍的目的。您必须填写安全域名。自己测试的时候填写域名即可。申请企业时需填写企业相关域名。
  
  还需要在应用高级信息中设置OAuth2.0授权回调页面。您也可以随意填写此测试。当应用程序发起用户授权时,会成功或取消重定向的页面地址。
  
  三、下载微博java sdk
  点击sdk后会跳回github页面。页面上有示例提示如何使用,下载即可。下载后,将其导入代码编辑器。最重要的一步:修改config.properties文件中的字段值。值的来源在应用信息中。
  
  四、运行实例获取授权码
  修改配置文件后,先打开examples包下oauth2.0下的OAuth4Code.java文件,直接运行main方法。此时默认浏览器会打开用户授权页面。授权后浏览器地址最后会加一个code=******。将代码复制粘贴到编辑器控制台,回车返回授权信息。
  复制返回的授权信息中accessToken的值,即授权码。
  AccessToken [accessToken=2.00******, expireIn=11255**, refreshToken=,uid=****] 有了这个授权码,我们就可以正式运营微博了。
  注意:微博api中的所有操作都需要得到OAuth2.0的授权。每种方法都需要一个授权码。未经审核的应用程序授权码仅在一天内有效。有效期为30天,如果获得应用所属开发者授权,则为5年。因此,开发者在调用时需要确定授权码的有效期,到期后应引导用户重新授权。
  五、api应用的微博
  examples包下都是微博官方api实例。之前的微博发送界面在weibo4j.examples.timeline下。其中UpdateStatus.java和Upload.java是发送微博文本,另一个是发送带图片的微博实例。打开之后发现发送的微博都是调用weibo4j.Timeline.java这个类。
  不过,微博官方已经取消了updateStatus等相关的微博发送接口,这些接口已经不能再调用了,但是因为java SDK是2014版本,所以这些方法还是存在的。后续替换之前的updateStatus接口是status/share(第三方分享链接到微博)
  
  我们使用这个接口发送微博。由于java sdk是2014版本,这个版本没有这个接口方法,所以我们需要根据他的调用方法来写一个新的接口。因为接口只有两个必填参数,一个微博文本和一个授权码,类似于updateStatus。所以我们可以打开weibo4j.Timeline.java找到updateStatus方法,复制一份,改方法名,替换json。这样发微博不带图的方法就完成了。
   
  public Status updateStatus(String status) 抛出 WeiboException {
  返回新状态(client.post(WeiboConfig.getValue("baseURL")
  + "statuses/update.json",
  new PostParameter[] {new PostParameter("status", status) },
  access_token));
  }
  /** 查看全部

  调用微博api发新微博,网上找了很多相关教程
  最近有一个项目需要调用微博API来发布新的微博。在网上找了很多相关的教程,遇到了很多坑。后来发邮件给官方发现微博官方早在2017年3月就调整了相关接口,取消了现有在线教程中的微博发送接口(updateStatus),导致调用该接口导致权限不足再次。 ,当时折腾了半天。特此发个新文章,希望大家不要掉坑。
  首先登录开放平台创建应用
  首先,您需要到微博开放平台申请开发者账号创建新应用。您可以直接使用您的微博帐户登录。登录后点击微连接选择其他,根据需要选择新建应用(客户端、网页应用和浏览器插件)。
  
  二、应用相关设置
  首先在应用信息中编辑应用的基本信息,包括应用介绍的目的。您必须填写安全域名。自己测试的时候填写域名即可。申请企业时需填写企业相关域名。
  
  还需要在应用高级信息中设置OAuth2.0授权回调页面。您也可以随意填写此测试。当应用程序发起用户授权时,会成功或取消重定向的页面地址。
  
  三、下载微博java sdk
  点击sdk后会跳回github页面。页面上有示例提示如何使用,下载即可。下载后,将其导入代码编辑器。最重要的一步:修改config.properties文件中的字段值。值的来源在应用信息中。
  
  四、运行实例获取授权码
  修改配置文件后,先打开examples包下oauth2.0下的OAuth4Code.java文件,直接运行main方法。此时默认浏览器会打开用户授权页面。授权后浏览器地址最后会加一个code=******。将代码复制粘贴到编辑器控制台,回车返回授权信息。
  复制返回的授权信息中accessToken的值,即授权码。
  AccessToken [accessToken=2.00******, expireIn=11255**, refreshToken=,uid=****] 有了这个授权码,我们就可以正式运营微博了。
  注意:微博api中的所有操作都需要得到OAuth2.0的授权。每种方法都需要一个授权码。未经审核的应用程序授权码仅在一天内有效。有效期为30天,如果获得应用所属开发者授权,则为5年。因此,开发者在调用时需要确定授权码的有效期,到期后应引导用户重新授权。
  五、api应用的微博
  examples包下都是微博官方api实例。之前的微博发送界面在weibo4j.examples.timeline下。其中UpdateStatus.java和Upload.java是发送微博文本,另一个是发送带图片的微博实例。打开之后发现发送的微博都是调用weibo4j.Timeline.java这个类。
  不过,微博官方已经取消了updateStatus等相关的微博发送接口,这些接口已经不能再调用了,但是因为java SDK是2014版本,所以这些方法还是存在的。后续替换之前的updateStatus接口是status/share(第三方分享链接到微博)
  
  我们使用这个接口发送微博。由于java sdk是2014版本,这个版本没有这个接口方法,所以我们需要根据他的调用方法来写一个新的接口。因为接口只有两个必填参数,一个微博文本和一个授权码,类似于updateStatus。所以我们可以打开weibo4j.Timeline.java找到updateStatus方法,复制一份,改方法名,替换json。这样发微博不带图的方法就完成了。
   
  public Status updateStatus(String status) 抛出 WeiboException {
  返回新状态(client.post(WeiboConfig.getValue("baseURL")
  + "statuses/update.json",
  new PostParameter[] {new PostParameter("status", status) },
  access_token));
  }
  /**

朋友圈里的emoji表情符会被「同步圈」识别错误

网站优化优采云 发表了文章 • 0 个评论 • 212 次浏览 • 2021-06-12 23:07 • 来自相关话题

  朋友圈里的emoji表情符会被「同步圈」识别错误
  在微信公众号和朋友圈疯狂挤压个人时间的当下,很多人的微博都在逐渐被抛弃,这个工具可以帮你自动同步任何朋友圈图文内容到你的微博上。
  这个可以为你省去很多麻烦的小工具叫做“同步圈”。顾名思义,就是把你的“朋友圈”“同步”到微博上。
  
  为了一劳永逸地享受自动同步的便利,您需要提前在PC浏览器中使用您的个人微博账号登录同步推文。网址是。获得登录授权后,网页上会显示二维码。用微信扫一扫后,添加一个名为“同步圈”的个人微信ID,很快就会通过验证。
  接下来需要将二维码下方的四位验证码发送到“同步圈”账号,然后会提示绑定成功!
  
  经过测试,“同步圈”目前支持纯文本、文本+表情、文本+图片的自动同步。您在朋友圈发布的小视频和地理位置无法同步到您的个人微博。经过实测,我也发现一些特殊的表情符号会被“同步圈”误识别,可能会造成一些歧义或误解。这可能是微信朋友圈和微博支持的表情不一致造成的。
  从原理上看,“同步圈”调用微信朋友圈侧的某些内容识别接口,可以自动抓取绑定用户的朋友圈内容,然后利用微博开放平台的API接口发送相同的内容。抽象地说,“同步圈”与著名的自动化服务IFTTT非常相似。只是它在微信封闭的城墙上开设了一个单向信息站,帮助用户将内容输出到更广阔的公共网络空间。
  不幸的是,根据我们对腾讯和微信团队的了解,同步圈的这个“小聪明”可能很快就会失败。 查看全部

  朋友圈里的emoji表情符会被「同步圈」识别错误
  在微信公众号和朋友圈疯狂挤压个人时间的当下,很多人的微博都在逐渐被抛弃,这个工具可以帮你自动同步任何朋友圈图文内容到你的微博上。
  这个可以为你省去很多麻烦的小工具叫做“同步圈”。顾名思义,就是把你的“朋友圈”“同步”到微博上。
  
  为了一劳永逸地享受自动同步的便利,您需要提前在PC浏览器中使用您的个人微博账号登录同步推文。网址是。获得登录授权后,网页上会显示二维码。用微信扫一扫后,添加一个名为“同步圈”的个人微信ID,很快就会通过验证。
  接下来需要将二维码下方的四位验证码发送到“同步圈”账号,然后会提示绑定成功!
  
  经过测试,“同步圈”目前支持纯文本、文本+表情、文本+图片的自动同步。您在朋友圈发布的小视频和地理位置无法同步到您的个人微博。经过实测,我也发现一些特殊的表情符号会被“同步圈”误识别,可能会造成一些歧义或误解。这可能是微信朋友圈和微博支持的表情不一致造成的。
  从原理上看,“同步圈”调用微信朋友圈侧的某些内容识别接口,可以自动抓取绑定用户的朋友圈内容,然后利用微博开放平台的API接口发送相同的内容。抽象地说,“同步圈”与著名的自动化服务IFTTT非常相似。只是它在微信封闭的城墙上开设了一个单向信息站,帮助用户将内容输出到更广阔的公共网络空间。
  不幸的是,根据我们对腾讯和微信团队的了解,同步圈的这个“小聪明”可能很快就会失败。

官方客服QQ群

微信人工客服

QQ人工客服


线