新浪原生分享

1.在官网注册开发者账号,获得appKey,同时一定要设置回调页和Bundle iD(回调页可以先虽随便设置,Bundle iD要与程序中相同。targets->General->Bundle identifier)

2.设置工程回调URL Scheme,在targets->info->URL Types里添加,设置为wb+appkey。

3.将新浪分享原装框架导入程序,然后添加以下类库

4.在targets->Build Settings->Linking->Other Linker Flags中设置-ObjC。

5.设置appKey和授权回调页

#define kAppKey @"12345677888"
#define kRedirectURI @"http://www.baidu.com"
6.注册AppKey,如果有需要,可以打开Debug模式,不需要则关闭.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
    [WeiboSDK enableDebugMode:YES];
    [WeiboSDK registerApp:kAppKey];
    // Override point for customization after application launch.
    return YES;
}
7.在AppDelegate.m中重写以下两个方法
-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    return [WeiboSDK handleOpenURL:url delegate:self];
}

-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
    return [WeiboSDK handleOpenURL:url delegate:self];
}
8.官方自带关注按钮实现
<pre name="code" class="objc">    AppDelegate *myDelegate =(AppDelegate*)[[UIApplication sharedApplication] delegate];
    self.relationshipBtn = [[WBSDKRelationshipButton alloc] initWithFrame:CGRectMake(20, 460, 140, 30) accessToken:myDelegate.wbtoken currentUser:myDelegate.wbCurrentUserID followUser:@"2002619624" completionHandler:^(WBSDKBasicButton *button, BOOL isSuccess, NSDictionary *resultDict) {
        
        NSString* accessToken = [resultDict objectForKey:@"access_token"];
        if (accessToken)
        {
            myDelegate.wbtoken = accessToken;
        }
        NSString* uid = [resultDict objectForKey:@"uid"];
        if (uid)
        {
            myDelegate.wbCurrentUserID = uid;
        }
        
        
    }];

 9.官方自带分享功能 

    WBMessageObject *message = [WBMessageObject message];
    message.text = @"测试";
    WBAuthorizeRequest *authRequest = [WBAuthorizeRequest request];
    authRequest.redirectURI = @"http://www.baidu.com";
    authRequest.scope = @"all";
    authRequest.userInfo = @{@"SSO_From": @"SendMessageToWeiboViewController",
                             @"Other_Info_1": [NSNumber numberWithInt:123],
                             @"Other_Info_2": @[@"obj1", @"obj2"],
                             @"Other_Info_3": @{@"key1": @"obj1", @"key2": @"obj2"}};
    
    WBSendMessageToWeiboRequest *request = [WBSendMessageToWeiboRequest requestWithMessage:message authInfo:authRequest access_token:kRedirectURI];
    
    [WeiboSDK sendRequest:request];

10.官方自带权限获取功能

WBAuthorizeRequest *authRequest = [WBAuthorizeRequest request];
    authRequest.redirectURI = @"http://www.baidu.com";
    authRequest.scope = @"all";
    authRequest.userInfo = @{@"SSO_From": @"SendMessageToWeiboViewController",
                             @"Other_Info_1": [NSNumber numberWithInt:123],
                             @"Other_Info_2": @[@"obj1", @"obj2"],
                             @"Other_Info_3": @{@"key1": @"obj1", @"key2": @"obj2"}};
    [WeiboSDK sendRequest:authRequest];

11.如果不想使用官方提供的发布器,可以自定义一个view,接受用户输入的文字或图片,然后将文字和图片直接发送到微博上,需要使用新浪微博提供的OpenAPI,需要注意的是,在使用此方法前,需要先申请authorize2.0的使用权限。

 AppDelegate *myDelegate =(AppDelegate*)[[UIApplication sharedApplication] delegate];
    [WBHttpRequest requestForShareAStatus:self.MessageFiled.text
                        contatinsAPicture:nil
                             orPictureUrl:nil
                          withAccessToken:myDelegate.wbtoken
                       andOtherProperties:nil
                                    queue:[[NSOperationQueue alloc] init]
                    withCompletionHandler:^(WBHttpRequest *httpRequest, id result, NSError *error) {
                    }];

PS:测试时遇到了一点情况,查明后发现是错误10023,原因如下

微博API限制客户端每小时只能执行有限个请求。详述如下。
REST API Rate Limiting
默认REST API的访问限制是每小时150次,限制分用户和IP, 未授权的访问次数限制主要针对IP,登录后的请求访问限制主要针对用户。
普通授权限制情况:
请求限制:单用户每小时150次
发表微博:单用户每小时最大30次
发表评论:单用户每小时最大60次
发表私信:单用户每小时最大60次
添加关注:每小时最多添加关注60个,每天最多关注200个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值