我有一個Facebook batch request,看起來像這樣:如何爲批處理請求編碼&符號?
https://graph.facebook.com/?access_token=ACCESS_TOKEN &批= [{ 「方法」: 「GET」, 「relative_url」:「搜索? [email protected] &類型=用戶「}]
通過線路返回發送此:
{"error"=>0, "error_description"=>"batch parameter must be a JSON array"}
如果我刪除&type=user
,它工作正常(回送一個空的數據陣列) 。我絕對確信Facebook不會正確解析&字符。我在網上在線閱讀,我可以嘗試將&符號編碼爲%26,但是使用該替換似乎會對「[email protected]%26type=user」執行查詢。如果你顛倒參數的順序,你會明白我的意思。
任何想法如何讓Facebook上的批量請求解析器識別&符號而無需提交將永遠不會修復的錯誤報告?
編輯:
我使用URI.encode。這裏是確切的代碼:
queries = email_array.map { |email| { :method => "GET", :relative_url => "search?q=#{email}&type=user" } }
route = "https://graph.facebook.com/?access_token=#{token}&batch=#{URI.encode(queries.to_json)}"
res = HTTParty.post(route)
將&編碼到%26完全是正確的解決方案。如果你輸入了「%26」並且字面出來,那麼其他的東西已經自動爲你編碼了。 –