carlpc

【Galileo】自动拍照并发送微博平台的搭建

0
阅读(2555)

1、首先是微博平台的搭建,打开http://open.weibo.com/

创建后,选择网页应用



创建后,会得到APP key和App Secret这两个东西在接下来的设置中十分重要。

2、Oauth2.0授权设置

在应用信息的高级信息中,设置授权回调页和取消授权回调页,我这里是设置成百度的页面,如图

3、引导用户授权

在浏览器标签页中输入如下地址:

https://api.weibo.com/oauth2/authorize?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI

其中

YOUR_CLIENT_ID:即应用的AppKey,可以在应用基本信息里查看到。

YOUR_REGISTERED_REDIRECT_URI:即之前填写的授权回调页,注意一定要完全相同。

如果用户授权成功后,会跳转到回调页,开发者此时需要得到url参数中的code值,注意code只能使用一次。


4、换取access token

首先在ubuntu的火狐浏览器中,下载一个poster插件


然后在插件中URL输入:

https://api.weibo.com/oauth2/access_token?client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=authorization_code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI&code=CODE


YOUR_CLIENT_ID:即应用的AppKey,可以在应用基本信息里查看到。

YOUR_CLIENT_SECRET:即前面的App Secret

YOUR_REGISTERED_REDIRECT_URI:即之前填写的授权回调页


点击POST就能获得access token信息

5、python的使用

根据所获得access tocken来编写python,这里给出部分代码

#! /usr/bin/env python
# -*- coding: utf-8 -*-
import weibo

APP_KEY = ''# 注册生成的key和secret
APP_SECRET = '' 
CALL_BACK = ''#授权回调页
def test(value):
	print "OK !" + str(value)

def WeiboPic(content,picUrl):

	client = weibo.APIClient(APP_KEY, APP_SECRET, CALL_BACK)
	client.set_access_token("", 3600)#生成的access tocken
	f = open(picUrl, 'rb')
	client.statuses.upload.post(status=content2, pic=f)
	f.close()

def Weibo(content):
	
	client = weibo.APIClient(APP_KEY, APP_SECRET, CALL_BACK)
	client.set_access_token("", 3600)#生成的access token         client.statuses.update.post(status=content)

if __name__=="__main__":
	content = """hello world!"""
	content2 = """hello world"""
	picUrl=r'test.jpg'
	#Weibo(content)
	WeiboPic(content2,picUrl)
	print "post picture success!"


6、linux平台C++调用python实现微博发送的方式

假设python保存的主文件为main.py,使用linux的system()函数即可实现使用方式为system("main.py");

7、这样就能实现自动发送至微博平台。