##前提
自作アプリにおいて、Slackのユーザーステータスを設定&設定されたステータスを取り消す機能を実装したいと考えております。
ユーザーのステータスを設定するためのメソッドをこちらの記事を参考に作成したのですが、うまく動きませんでした。
下記にそのメソッドコードとエラー内容を記載します。
Swift
1// ステータスを設定する処理 2static func setStatus(token: String) { 3 let headers: HTTPHeaders = [ 4 "Content-Type": "application/json; charset=utf-8", 5 "Authorization": "Bearer (token)" 6 ] 7 8 let parameters: Parameters = [ 9 "profile": [ 10 [ 11 "status_text": "ステータステスト", 12 "status_emoji": ":emoji:" 13 ] 14 ] 15 ] 16 17 AF.request("https://slack.com/api/users.profile.set", method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: headers) 18 .responseString { response in 19 switch(response.result) { 20 case .success(let value): 21 print("Connection successed:(value)") 22 case .failure(let error): 23 print("Connection failed:(error)") 24 } 25 } 26 } 27} 28 29// => エラー内容 30// Slack接続エラー:responseSerializationFailed(reason: 31// Alamofire.AFError.ResponseSerializationFailureReason.inputDataNilOrZeroLength)
AF.requestの引数 > encodingをJSONEncoding.default から URLEncoding.defaultにしてみたところ、やはりうまくステータスは変更されませんでしたがログに表示される内容が下記のように変化しました。
After
1Slack接続成功:{"ok":false,"error":"invalid_json"}
invalid_jsonについて日本語、英語で調査しましたが、どのように修正すべきか結局判明しませんでした。
知りたいこと
- 「前提」で記載したステータス設定のコードのどこを直すと正しく動作するかを教えていただきたいです。
- APIにてステータスを設定するコードはSlackのドキュメントにも記載がありますが、現在設定されているステータスを取り消す方法が一向に見当たりません。情報をご存知でしたら教えていただけますと幸いです。
以上、稚拙な質問ではありますが、ご回答いただけますと幸いです!
よろしくお願いいたします!
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/10 00:51
2021/11/10 00:57