私の iOS アプリは、次のように RSS 購読リクエストをsuperfeedrに送信します。
func subscribe(feed: String) {
let parameters = ["hub.mode" : "subscribe", "hub.topic" : feed, "format" : "json" , "hub.callback" : "https://AppID:javascript-key=JavascriptKey@api.parse.com/1/functions/superfeedrnew"]
let user = "user"
let token = "token"
let str = "\(user):\(token)"
let utf8str = str.dataUsingEncoding(NSUTF8StringEncoding)
if let base64Encoded = utf8str?.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue: 0))
{
let headers = ["Authorization": "Basic \(base64Encoded)"]
Alamofire.request(.POST, "https://push.superfeedr.com", parameters: parameters, headers: headers)
.responseJSON { response in
debugPrint(response)
}
}
}
フィードは superfeedr に正常に登録され、superfeedr は私の Parse コールバック URL に通知を送信する必要があります。これは今のところ、少なくとも入力を出力する必要がある単なる hello world 関数です。
Parse.Cloud.define("superfeedrnew", function(request, response) {
response.success('** WEBHOOK WORKING **' + request);
});
私の問題は、このアプローチを使用して通知が受信されない/機能が実行されないことであり、その理由がわかりません。ただし、curl を使用して関数を正常に実行できます。
curl -X POST \
-H "X-Parse-Application-Id: app ID" \
-H "X-Parse-REST-API-Key: rest key" \
-H "Content-Type: application/json" \
-d '{}' \
https://api.parse.com/1/functions/superfeedrnew
編集: webhook を使用するのはこれが初めてなので、これを試しました: Stripe Webhook から Parse.com ユーザーを更新すると、stripe で完全に動作します。ただし、Superfeedr はまだクラウド コード関数を呼び出すことができません。私を不安定な状態にする。また、スーパーフィーダー ダッシュボードに通知配信エラー メッセージが表示されます。