2011-05-09 33 views
2

我有一個谷歌應用程序引擎。 當我添加一個任務到任務隊列發送電子郵件。我有這個錯誤:使用任務隊列時出錯

請求失敗,因爲URL需要用戶登錄。對於在App Engine中調用的請求(脫機請求,如任務隊列,或者Web服務,如XMPP和傳入郵件),URL必須要求管理員登錄(或不登錄)。

我的命令是

taskqueue.add(URL = '/我的空間/操作/任務',則params = { '關鍵':operation.key()}

請幫我解決這個問題。

感謝。

回答

1

沒有看到您的網址設置很難說,但它的出現/我的空間/操作/任務需要用戶先登錄稱呼它,但被髮送到任務隊列東西會在沒有用戶登錄的情況下在幕後調用。

無論是從那個URL刪除登錄要求,或使其管理員需要URL

6

這具體是指處理器在app.yaml任務工人URL匹配。它可以指定沒有登錄要求或login: admin,但不是login: required

這是一個健全性檢查,以確保您瞭解任務運行的環境。任務可以繞過使用login: admin修飾的處理程序,但是當它們運行時,它們將不會有任何用戶在上下文中。 users.get_current_user()users.is_current_user_admin()在任務執行的上下文中不起作用,因此將任務放在login: required處理程序之後是沒有意義的。