[iOS微博項目,[iOS博項目

來源:互聯網
上載者:User

[iOS微博項目,[iOS博項目
github: https://github.com/hellovoidworld/HVWWeibo   A.使用微博API發送微博 1.需求 學習發送微博API 發送文字微博 發送帶有圖片的微博   2.思路 直接按照微博API的文檔指示使用   這裡測試上傳帶圖片微博   3.實現 在“發微博”介面,點擊右上方發送就調用API    

 1 //  HVWComposeViewController.m 2 /** 發送微博 */ 3 - (void) sendWeibo { 4     if (self.composeView.text.length == 0) { 5         [MBProgressHUD showError:@"你好像忘記了內容..."]; 6         return; 7     } 8     9     [MBProgressHUD showMessage:@"發送微博中..."];10    11     if (self.imageDisplayView.images.count) { // 發送的時帶圖片的微博12         [self sendWeiboWithTextNImage];13     } else { // 發送的是純文字微博14         [self sendWeiboWithText];15     }16 }17 18 /** 發送文字微博 */19 - (void) sendWeiboWithText {20     // 建立http操作管理者21     AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];22    23     // 設定參數24     NSMutableDictionary *param = [NSMutableDictionary dictionary];25     // 存取權杖26     HVWAccountInfo *accountInfo = [HVWAccountInfoTool accountInfo];27     param[@"access_token"] = accountInfo.access_token;28     // 微博文本29     param[@"status"] = self.composeView.text;30    31     // 發送請求32     [manager POST:@"https://api.weibo.com/2/statuses/update.json" parameters:param success:^(AFHTTPRequestOperation *operation, id responseObject) {33         [MBProgressHUD hideHUD];34         [MBProgressHUD showSuccess:@"發送成功!"];35     } failure:^(AFHTTPRequestOperation *operation, NSError *error) {36         HVWLog(@"發送微博失敗, error:%@", error);37         [MBProgressHUD hideHUD];38         [MBProgressHUD showError:@"發送失敗!error"];39     }];40 }41 42 /** 發送圖文微博 */43 - (void) sendWeiboWithTextNImage {44     if (self.imageDisplayView.images.count == 0) {45         [MBProgressHUD hideHUD];46         [MBProgressHUD showError:@"懵了,找不到圖兒!"];47         return;48     }49    50     // 建立http操作管理者51     AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];52    53     // 設定參數54     NSMutableDictionary *param = [NSMutableDictionary dictionary];55     // 存取權杖56     HVWAccountInfo *accountInfo = [HVWAccountInfoTool accountInfo];57     param[@"access_token"] = accountInfo.access_token;58     // 微博文本59     param[@"status"] = self.composeView.text;60    61     // 發送請求62     [manager POST:@"https://upload.api.weibo.com/2/statuses/upload.json" parameters:param constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {63        64         // 發送的圖片資料,其實現在開放的API只允許上傳一張圖片65         UIImage *image  = [self.imageDisplayView.images firstObject];66         if (image) {67             NSData *imageData = UIImagePNGRepresentation(image);68             [formData appendPartWithFileData:imageData name:@"pic" fileName:@"statusPic" mimeType:@"image/png"];69         }70     } success:^(AFHTTPRequestOperation *operation, id responseObject) {71         [MBProgressHUD hideHUD];72         [MBProgressHUD showSuccess:@"發送成功!"];73     } failure:^(AFHTTPRequestOperation *operation, NSError *error) {74         HVWLog(@"發送微博失敗, error:%@", error);75         [MBProgressHUD hideHUD];76         [MBProgressHUD showError:@"發送失敗!"];77     }];78 }

 

 發送成功:   #mark:發送微博失敗的原因有:1.沒有常值內容2.使用發送純文字API,卻上傳圖片3.使用發送圖文API,卻沒有上傳圖片 注意:新浪開放的API一次只能上傳一張圖片,選擇多張的時候會使用最後一張 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.