carlpc

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

0
阅读(2311)

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 tokenclient.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、这样就能实现自动发送至微博平台。



Baidu
map