如何获得consumer goods_KEY 和C...

腾讯微博中QAuth对象已经配置了oauth_consumer_key和oauth_consumer_secret, token已有, 怎么调用api_百度知道
腾讯微博中QAuth对象已经配置了oauth_consumer_key和oauth_consumer_secret, token已有, 怎么调用api
JAVA的SDK, token是外部获取的, 但是调用腾讯微博api时需要显示的传入一个oauth对象, 我已经将token的值set进这个oauth对象了, 调用api无异常但提示QHttpClient httpPost [2] responseData = {&data&:null,&errcode&:3,&msg&:&check sign error&,&ret&:3}, 请...
我有更好的答案
敢问楼主问题是怎么解决的?
为您推荐:
其他类似问题
oauth的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。下次自动登录
现在的位置:
& 综合 & 正文
[SNS]Mixi
下面是创建一个Mixi应用程序的流程图。
[注册]使用mixi网平台
公司注册认证合作伙伴,我们提供了一个应用程序使用的专用帐户。
关于申请,我们要求您提交的登记和申请表的副本。
个人创建一个应用程序,需要注册个人帐户mixi网合作伙伴。
E-mail地址是必需的,如姓名,地址,注册手机。
详细说明请参考:
[登录应用]
帐号准备完成后,登录你要开发的应用。
详细步骤请参考:
[分类发布申请]
发布做成的应用,必须创建应用程序分类
详细步骤请参考:
(1)从手机向mixi服务器发送HTTP请求
(2)HTTP请求从mixi服务器被发送到SAP服务器,在这种情况下,SAP服务器发送以下信息。
请求是以get、post方式,用post。这时,需要向SAP服务器传递APPID或者客户ID等终端信息。
(3)访问Mixi的Graph API:通过Graph API可以获得mixi社交网数据应用在开发的应用程序中。
(4)API返回的数据:将返回ATOM或JSON形式的Mixi社交数据。
(5)HTML文件的返回:将显示在用户手机画面上的html返回。
(6)发送到您的手机
可以利用的API
通过API可以获取mixi个人用户信息和相关好友的信息。
mixi Graph API提供详细的说明请参考:
People API
Groups API
People lookup API
Updates API
Message API
Check-in API
Profile Image API
Persistence API
Calendar API
关于OAuth Signature的验证方法
发送Authorization头
这份文档的目的展示了如何修改http请求来实现向Mixi API发送认证请求的过程
所有的MixiAPI都基于HTTP协议。这意味着你编写的任何访问MixiAPI的软件,都会发送一系列结构化的信息到Mixi服务器。
被发送到mixi服务器的HTTP头信息如下(通常验证头信息应该在一行中,但是为了易读性进行了换行)
Authorization = OAuth realm="",
oauth_consumer_key="mixiapp-web_xxxxx",
oauth_nonce="9dc8fbca0e",
oauth_signature="Ky%2F6LlDHpHX1EZMRi5mfUl9vxqY%3D",
oauth_signature_method="HMAC-SHA1",
oauth_timestamp="",
oauth_version="1.0"
你应该可以看到头信息中包含6对键值,所有的键名以“oauth_”开头。任何Mixi请求,都会收集这些组值,并且创建一个相似的头信息,允许你为该请求指定认证信息。每一个值描述如下:
Consumer key
oauth_consumer_key 事先发行的consumer_key,标识哪一个应用程序生成请求。可以在应用程序管理界面
oauth_nonce参数是一个唯一的token值,应用程序应该为每一个请求生成它。会使用这个値来判断是否一个请求被提交了多次。这个值以32字节随机数据进行base64编码生成,并且剔除所有非文字字符,但是任何方式生成相对随机数的字符串都可以被接受。
oauth_signature参数包含一个值,该值以其他所有的请求参数和两个密码值进行签名生成。
目的是Mixi可以判断请求在传输中没有被篡改,验证应用程序发送的请求,验证应用程序具有和用户帐户交互的权限。
运算oauth_signature的过程参考:
Signature method
Mixi使用的oauth_signature_method是HMAC-SHA1。该值应该在所有的验证过的请求中发送给Mixi API
oauth_timestamp参数标识请求何时被创建。这个值应该是从Unix纪元到请求被生成时点的秒数,在大多数的中都很好实现。Mixi会拒绝太久之前的请求,所以保证生成请求的计算机时钟正确很重要。
oauth_version参数应该一直是1.0。
OAuth Signature的生成方法
例子如果以get请求被发送的时候,下面将解释如何生成OAuth Signature。首先,为了生成基于字符串的署名而准备的值。
1.HTTP请求方法
2.请求URL。应排除查询参数
3.设置各种OAuth処理必要的参数。包含查询参数。
3.oauth_consumer_key=mixiapp-web_xxxxx&oauth_nonce=9dc8fbca0e&oauth_signature_method=HMAC
SHA1&oauth_timestamp=&oauth_version=1.0&opensocial_app_id=123&opensocial_owner_id=xxxxxxxx
以上参数通过URI escape生成以下通过&连接的字符串
GET&http%3A%2F%2Fexample.com%2Ffoo%2F&oauth_consumer_key%3Dmixiapp-web_xxxxx
%26oauth_nonce%3D9dc8fbca0e%26oauth_signature_method%3DHMAC-SHA1%26
oauth_timestamp%3D%26oauth_version%3D1.0%26opensocial_app_id%3D123%26
opensocial_owner_id%3Dxxxxxxxx
这个字符串是根据HMAC-SHA1文摘生成的,根据BASE64进行编码,生成签名。Key是consumer_secret和空的Token Secret用&连接而成的。
consumer_secret利用了application登陆时发行的东西。
例如:consumer_secret是79e0a55cde43e7dc86fd1eac7771db8,那么它将在转化成79e0a55cde43e7dc86fd1eac7771db8&。
如果这么做,签名如下
Ky/6LlDHpHX1EZMRi5mfUl9vxqY=
通过由此生成的参数和Authorization头oauth_signature值的比较,验证是可能的。如果不匹配,请执行类似显示错误画面的处理。
关于更详细的式样,请参照OAuth Consumer Request 1.0 Draft 1。
Post请求时的Signature生成
post请求时应非常注意,和OAuth Core 1.0里的一样,post request的时候,请求正文也要按照OAuth的式样定义的包含base字符串,根据历史条件,采用
不生成请求正文签名的方法。
POST /foo/?opensocial_owner_id=xxxxxxxxxxxxx HTTP/1.0
host: example.com
Content-Length: 13
foo=1&bar=abc
如果上面的POST请求已提交,基本字符串如下。
POST&http%3A%2F%2Fexample.com%2Ffoo%2F&oauth_consumer_key%3Dbc906fac81f581c3c96a
%26oauth_nonce%3D9dc8fbca0e%26oauth_signature_method%3DHMAC-SHA1%26
oauth_timestamp%3D%26oauth_version%3D1.0%26opensocial_owner_id%3Dxxxxxxxx
正如你可以看到,生成基本的字符串,不包括请求的主体。不过,仅是不包括请求主体。要注意赋给URL内的query parameter和GET一样要包含base字符串。
OAuth Consumer Request 1.0 Draft 1
December 2007.
URL的规范变动时,我们会通知,请注意确认。
个人资料画面URL
1.对于PC: }
2.对于移动设备: }
PC和移动设备的差别是在域名上有无 “m.”
开始Mixi的移动应用程序
Mixi的移动应用程序,您可以创建一个应用程序使用的mixi网的社交图。分享给各式各样的朋友。
为了操作mixi网内信息,注册申请是必要的。
首先,请在“合作伙伴仪表板”访问应用程序创建(当然请先登录Partner Dashboard)。如果没有成为mixi认证的合作伙伴,不会出现该画面。
输入Mixi应用程序的信息
登录后,按要求填写你的mixi应用信息,星号是必填项。
页面中,应用的对应范围有5种,你可以创建一下5种应用程序。对应移动应用时,只有在登录合作伙伴账户时才会出现,请注意,如果没有通过合作伙伴,将不会出现。
モバイル对应手机应用
PC 对应PC应用
スマートフォン 对应智能手机应用
2.android版 3.iOS版
关于各项输入的内容,请参考以下
输入内容确认后,同意规则,登录应用即可。
关于用户认可
利用Graph API或UserFlow API,必须用户认可。这里是用户认可的介绍。
mixi移动应用过渡到用户认证画面,需要使用graphapi:auth的表单标签描述。仅支持post方法。更具体的如下html 表单action属性描写。
auth:graphapi
指定以下参数。
关于指定scope的值,请参考mixi Graph API的各种文档。示例:
&form action="auth:graphapi" method="POST"&
&input type="hidden" name="response_type" value="code" /&
&input type="hidden" name="scope" value="mixi_apps2 r_profile r_voice w_voice" /&
&input type="hidden" name="state" value="" /&
&input type="submit" value="認可を行う" /&
当用户发出拒绝批准或授权,将迁移至应用登录时被设定的RedirectURI。
当用户许可时,以下的值将被作为参数返回。
您可以从授权码中获取必要的mixi Graph API访问令牌。关于取得的方法请参考令牌的刷新、获取令牌
发行的授权码,有效期为3分钟。
如果用户没有授权将返回以下值。
如果不需要用户确认的范围,如果你想下面列出的范围,授权码将发出用户授权,而不显示屏幕。
mixi_apps2
r_profile_blood_type
r_profile_birthday
r_profile_gender
此外,像往常一样,如果你必须指定的其他范围,在这些范围的同时为用户授权屏幕将显示。
mixi API SDK for Android
mixi官网提供了android SDK。
Mixi的API SDK的Android(TM)功能如下。
1.无论是个人和企业,如果你是一个注册的合作伙伴,任何人都可以开发。
2.执行的程序不要求认证/授权的OAuth 2.0
3.自动更新/收购的令牌
4.我可以在一个统一的程序API调用
5.不要输入密码的时候,单点登录的用户授权
6.因为不存在需要在应用程序中嵌入的秘密,提高了安全性
Android SDK中在终端支持这项是如下。
1.Android 2.1或更高版本
2.可以利用的Google Play
People API
Groups API
Request API
Communication Feed ※
※对于未来将提供交流反馈
要充分利用mixi网的Android(TM)API SDK,请下载以下文件。
下载完成后, mixi网平台服务条款和材料的使用准则mixi网平台,我被视为已同意。
mixiAndroidSDK-1.8.zip
注册应用程序
要使用的SDK,应用程序必须是先前注册过合作伙伴。 首先,请在注册页面服务Mixi Graph API注册您的应用程序。
请根据以下过程注册你的项目的包署名哈希值。使用SDK开发应用程序时,必须输入值,没有则无法开发。 这里的值是用来验证注册的应用程序身份的,以确保开发的有效性。 防止怀有恶意的第三方,冒充您提供的应用程序,进行诈骗。
如何获得哈希值包签名
1.登录Google Play,提供需要的keystore文件
2.运行JDK中的keytool
keytool -list -v -keystore {keysore文件} -alias {作成時指定的別名}
显示结果如下;
指纹的证书:
MD5:2C:D8:DD:C5:D4:FE:9D:55:89:57:E6:7A:BB:12:3 F:55
SHA1:50:57:B0:B9:A3:25:EE:E5:A2:54:19:85:31:32:52:63:49:1?:25:80
签名算法的名称:SHA1withRSA
最后的结果是SHA1 除:以外的值的连接
A325EEE5A0
在开发过程中,经常使用的密钥库文件进行调试。 在这种情况下,它也可以注册后才能获得的散列值的debug.keystore如下。
如果是Windows环境下,将debug.keystore文件生成在 C:\Documents and Settings\[用户名]\.android,默认密码为"android".
keytool -list -v -keystore debug.keystore -alias androiddebugkey
URI启动计划
当用户点击列表中的应用程序和网站Mixi上的一览,Android应用程序从Web浏览器启动。 在这个时候开始的URI方案。
初始值被设置为以下值。
mixiapp-&APP_ID&://run
您可以更改的此引导的的URI方案&APP_ID&的的部分。 我建议你尽可能地改变。如果你想进行更改,请从合作伙伴页上更改应用程序设置信息。
对于实际的应用程序接收到这个开始的URI计划,设置适当的意图过滤器是必要的。
您需要从下载页面下载最新的SDK,解压缩到正确的地方。此外,在这里我们将解释程序使用Eclipse来开发应用程序。 我们假设Eclipse插件的
Mixi的API SDK的Android(TM),并预先安装。
导入Mixi的API SDK的Android(TM)
创建Android项目
按照正常程序创建Android项目创建一个项目。
目标API级别,请注意,您必须设置至少API等级8。 在情况下,它是必要的,也支持Android 2.1,请设置'7'项目最小SDK版本。
注册项目库
注册的项目,开发一个Mixi的API SDK的Android(TM)库
打开项目属性,追加[Android]-[Library]。
通过以上操作,default.properties文件被修改如下。
android.library.reference.1=../jp_mixi_android
AndroidManifest.xml中
添加上网权限
&uses-permission android:name="android.permission.INTERNET" /&
都准备好了,现在开始开发。
初始化和授权过程
我将解释如何使用mixi网的Android(TM)API SDK编写代码来开发应用程序。
Activity说明
示例代码中的Mixi API SDK的Android(TM)应用程序使用的主Activity。
你可以这样写只有很少的代码,即可使用SDK功能。
package com.example.
import android.app.A
import android.content.I
import android.os.B
import jp.mixi.android.sdk.*;
public class TestActivity extends Activity {
MixiContainer mC
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Config config = new Config();
config.clientId = "YOUR_CONSUMER_KEY";
config.selector = Config.GRAPH_API;
mContainer = MixiContainerFactory.getContainer(config);
mContainer.init(this);
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
mContainer.authorizeCallback(requestCode, resultCode, data);
public void onDestroy() {
mContainer.close(this);
super.onDestroy();
(1)启动时的处理(onCreate例如)
要使用SDK,你可以调用init()方法的MixiContainer实例。 为了产生的MixiContainer实例,请使用(配置设置)MixiContainerFactory.getContainer“。 配置要设定的项目如下。
(2)结束时的处理(例如,的OnDestroy)
请运行MixiContainer#close()来执行相应的结束处理。
(3)授权结果的取得(onActivityResult)
在onActivityResult AuthorizeCallback的call(),以获得授权对话框的结果。
调用身份验证和授权对话框
要使用mixi网的应用程序的API,已执行用户授权使用的API是必要的。
void MixiContainer#authorize(Activity activity, String[] permissions, int activityCode,
CallbackListener listener)
活动 指定活动的来电(如FooActivity.this)
权限 指定的范围,我需要使用的API。 如“r_profile”,“w_photo”的范围,请参阅每个API的文档。
activityCode 码值目标决策意图
监听 回调类调用之后的授权过程
通过调用此方法,下面的屏幕会显示出来。
实际示例代码是在这里
mContainer.authorize(TestActivity.this, new String[] {"r_profile","w_voice"}, AUTHORIZE_REQUEST_CODE,
new CallbackListener() {
public void onComplete(Bundle values) {
// 正常時の処理
public void onError(ErrorInfo e) {
// エラー時の処理
public void onCancel() {
// ユーザキャンセル時の処理
public void onFatal(ErrorInfo e) {
// 異常終了時の処理
回调方法的结果,因为它是所谓的支持用户的授权,请采取适当的行动。
检索错误信息
在授权过程中,发生认可错误,返回errorinfo有可能获得更多的信息。 对于可用的方法,请参见下文。
检查授权的状态
要检查的状态,当前的授权,我们使用下面的方法。
boolean MixiContainer#isAuthorized()
一般来说,仅在第一次出现授权画面,第二个和后续的时间,它可能会跳过。
isAuthorize检查处理方法。 返回true,如果已批准,则返回false,如果未经授权的。
通过调用下面的方法,我们取消授权状态。 此外,保护我们的客户,如果你想利用mixi网的Android(TM)API SDK,请确保实现此功能解除认证。
void MixiContainer#logout(Activity activity, int activityCode, CallbackListener listener);
如何使用API
&&&&推荐文章:
【上篇】【下篇】如何获得map的key值_百度知道
如何获得map的key值
我有更好的答案
Set keys1 = map, &c&quot.put(3;), &a&quot.keySet();
System.out.println(keys1);结果为;b&);
mapMap map = new HashMap();
map.put(2, &quot.put(1:[2, 4;);
map.put(4, &quot
采纳率:43%
具体情况可以参考APIMap里有个方法:entrySet() 是用来返回Map里面所有键的Set视图的,其实我们很多编程问题都可以从API里获得答案,所以随手备一本API是一个优秀的程序员必备的要素
Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
Object key = entry.getKey();
Object val = entry.getValue(); }
iteratorget
map.entryKey();
其他2条回答
为您推荐:
其他类似问题
key值的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 lolcdkey怎么获得 的文章

 

随机推荐