何らかの理由で、このコードはFirebaseに投稿されていません。私はいくつかのバリエーションを試しましたが、何も投稿していません。私はこのコードを実行するたびに、コンソールで出力するXcode Swift 3のデータはFirebaseに投稿されていません
、
2017年2月7日11:42:14.378 NeedAMovie [3394] [Firebase /データベース] [I-RDB03812]のsetValue :またはremoveValue: /movies/-KcP5FyUnpM9drNz3vsdに失敗しました:permission_denied。
のDataServiceクラス:私は投稿するためのコードを持っている
import Foundation
import Firebase
let URL_BASE = FIRDatabase.database().reference()
class DataSevice {
static let ds = DataSevice()
private var _REF_BASE = URL_BASE
private var _REF_POSTS = URL_BASE.child("movies")
var REF_BASE: FIRDatabaseReference{
return _REF_BASE
}
var REF_POSTS: FIRDatabaseReference{
return _REF_POSTS
}
}
パート:実際の投稿が行われているところ
@IBAction func postBtn(_ sender: Any) {
if(self.caption.text != ""){
vars.caption = self.caption.text
}
if let img = imgView.image, imageSelected {
let urlStr = "https://post.imageshack.us/upload_api.php"
let url = URL(string: urlStr)!
let imgData = UIImageJPEGRepresentation(img, 0.2)!
let keyData = "AEHKLRSU485b1b4e7ca86c9fdcede4064b55d66b".data(using: .utf8)! // key removed for sake of privacy
let keyJSON = "json".data(using: .utf8)!
Alamofire.upload(multipartFormData: { multipartFormData in
multipartFormData.append(imgData, withName: "fileupload", fileName:"image", mimeType: "image/jpg")
multipartFormData.append(keyData, withName: "key")
multipartFormData.append(keyJSON, withName: "format")
}, to: url, encodingCompletion: { encodingResult in
switch encodingResult {
case .success(let upload, _, _):
upload.responseJSON { response in
if let info = response.result.value as? [String: AnyObject],
let links = info["links"] as? [String: AnyObject],
let imgLink = links["image_link"] as? String {
self.postToFirebase(imgLink)
}
}
case.failure(_): break
}
})
}
else{
self.makeAlert("Missing Fields", msg: "In order to post you must include a Picture and a Caption")
}
}
func postToFirebase(_ imgUrl: String?){
if let description = self.caption.text , description != "" {
if let title = self.movieTitle.text , title != ""{
let post: Dictionary<String, AnyObject> = [
"title": title as AnyObject,
"caption": description as AnyObject,
"category": vars.category as AnyObject,
"imageURL": imgUrl! as AnyObject
]
print(post)
//over here add this post to the users post array
var fpost = DataSevice.ds.REF_BASE.child("movies").childByAutoId()
fpost.setValue(post)
self.movieTitle.text = ""
self.caption.text = ""
self.imgView.image = UIImage(named: "")
self.imageSelected = false
}
}
else{
print("didnt work")
}
}
postToFirebase
方法があります。ありがとう。
ありがとうございます! –
こんにちは@ShaanLuthraこれを受け入れられた回答としてマークしてください。 :) –