ios 分享到新浪微博

ios 分享到新浪微博,第1张

概述参考(tiny4cocoa):http://tiny4cocoa.com/thread-1771-1-1.html 参考(csdn):http://www.voidcn.com/article/p-zalqcvkf-rb.html 1.  首先在http://open.t.sina.com.cn / 中申请成为开发者,再创建不同的应用,获得相应的 App Key  (在下面链接中的source即为

参考(tiny4cocoa):http://tiny4cocoa.com/thread-1771-1-1.html


参考(csdn):http://www.voidcn.com/article/p-zalqcvkf-rb.html

1.  首先在http://open.t.sina.com.cn / 中申请成为开发者,再创建不同的应用,获得相应的 App Key  (在下面链接中的source即为app key)

 

2.  登录认证:

Nsstring  *authString = [ Nsstring   stringWithFormat : @"%@:%@" , sinaIDFIEld . text ,sinaPasswordFIEld . text ];

NSData  *authData = [authString  dataUsingEnCoding : NSUTF8StringEnCoding ];

Nsstring  *authValue = [ Nsstring   stringWithFormat : @"Basic %@" ,[authData base64EnCodingWithlineLength : 80 ]];

 

NSURL  *url = [ NSURL   URLWithString : @"http://api.t.sina.com.cn/account/verify_credentials.xml?source=3930264715 " ];

NSMutableURLRequest  *request = [[ NSMutableURLRequest   alloc  initWithURL :url];

[request  sethttpMethod : @"GET" ];

[request  setValue :authValue  forhttpheaderFIEld : @"Authorization" ];

NSURLResponse  *response;

NSError  *error;

[ NSURLConnection   sendSynchronousRequest :request  returningResponse :&response  error :&error];

[request  release ];

NShttpURLResponse  *httpResponse = ( NShttpURLResponse  *)response;

int  statusCode = [httpResponse  statusCode ];

NSLog ( @"status code = %d" ,statusCode);

if  (statusCode !=  200 ) {

alertTitle =  @" 帐号或密码错误 " ;

alertMassage =  @" 请您输入正确的帐号和密码! " ;

} else  {

alertTitle =  @"" ;

alertMassage =  @" 登录成功! " ;

}

UIAlertVIEw  *alert = [[ UIAlertVIEw   alloc  initWithTitle :alertTitle

message :alertMassage

delegate : nil   cancelbuttonTitle : @" 确定 "

otherbuttonTitles : nil ];

[alert  show ];

[alert  release ];

3. 将内容(图片   文字)发送到新浪微博

Nsstring  *authString = [ Nsstring   stringWithFormat : @"%@:%@" ,[[ NSUserDefaults  standardUserDefaults  objectForKey : @"sinaID" ],[[ NSUserDefaults   standardUserDefaults objectForKey : @"sinaPassword" ]];

Nsstring  *boundary =  @"0xKHTMLbOuNdArYckkk" ;

Nsstring  *filename =  @" test .jpg" ;

NSData  *imageData =  UIImageJPEGRepresentation (shareImage, 1 );

Nsstring  *bodyPrefixString = [ Nsstring   stringWithFormat : @"--%@/r/n" ,boundary];

Nsstring  *bodySuffixString = [ Nsstring   stringWithFormat : @"/r/n--%@--/r/n" ,36); Font-family:Monaco; Font-size:12px"> Nsstring  *contentdisposition = [ Nsstring   stringWithFormat : @"Content-disposition: form-data; name="pic"; filename="%@"/r/n" ,filename];

Nsstring  *contentimageType = [ Nsstring   stringWithFormat : @"Content-Type: image/%@/r/n" ,[filename  pathExtension ]];

Nsstring  *contentTransfer   @"Content-transfer-encoding: binary/r/n/r/n" ;

Nsstring  *bodyUpdateFIEld = [ Nsstring   stringWithFormat : @"Content-disposition: form-data;name="status"/r/n/r/n%@/r/n" ,[ Nsstring   stringWithFormat : @"%@" , textVIEw . text ]];

NSMutableData  *postbody = [ NSMutableData   data ];

[postbody  appendData :[bodyPrefixString  dataUsingEnCoding : NSUTF8StringEnCoding  allowLossyConversion : NO ]];

[postbody  appendData :[bodyUpdateFIEld  dataUsingEnCoding : NSUTF8StringEnCoding  ]];

[postbody  appendData :[contentdisposition  dataUsingEnCoding : NSUTF8StringEnCoding  ]];

[postbody  appendData :[contentimageType  dataUsingEnCoding : NSUTF8StringEnCoding  ]];

[postbody  appendData :[contentTransfer  dataUsingEnCoding : NSUTF8StringEnCoding ]];

[postbody  appendData :imageData];

[postbody  appendData :[bodySuffixString  dataUsingEnCoding : NSUTF8StringEnCoding  allowLossyConversion : NO ]];

Nsstring  *baseURL = [ Nsstring   stringWithFormat :@"http://api.t.sina.com.cn/statuses/upload.xml?source=3930264715 " ];

NSURL  *url = [ NSURL   URLWithString :baseURL];

NSMutableURLRequest  *mainRequest = [[ NSMutableURLRequest   alloc  initWithURL :url

cachePolicy : NSURLRequestUseProtocolCachePolicy

timeoutInterval : 30.0f ];

[mainRequest  sethttpMethod : @"POST" ];

[mainRequest  setValue :authValue  forhttpheaderFIEld : @"Authorization" ];

Nsstring  *ContentType = [ Nsstring   stringWithFormat : @"multipart/form-data; boundary=%@" ,boundary,  nil ];

[mainRequest  setValue :ContentType  forhttpheaderFIEld : @"Content-Type" ];

[mainRequest  sethttpBody :postbody];

NSURLResponse  *shareResponse;

NSData  *responseData = [ NSURLConnection   sendSynchronousRequest :mainRequest  returningResponse:&shareResponse  error :&error];

Nsstring  *responseString = [[ Nsstring   alloc  initWithData :responseData  enCoding :NSUTF8StringEnCoding ];

NShttpURLResponse  *httpResponse = ( NShttpURLResponse  *)shareResponse;

BOol  succeed =  NO ;

if  (statusCode ==  200 ) {

succeed =  YES ;

[mainRequest  release ];

NSLog ( @"response string : %@" ,responseString);

[responseString  release ];

[ uploaDWaiting   stopAnimating ];

Nsstring  *message =  nil ;

if  (succeed) {

message =  @" 分享成功 " ;

message =  @" 分享失败 " ;

UIAlertVIEw  *alert = [[ UIAlertVIEw   alloc  initWithTitle : @""   message :message

delegate : self

cancelbuttonTitle : @" 确定 "   otherbuttonTitles : nil ];

[alert  release ];

总结

以上是内存溢出为你收集整理的ios 分享到新浪微博全部内容,希望文章能够帮你解决ios 分享到新浪微博所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1058488.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存