我使用huandu/facebook爲Golang訪問FB API。 https://github.com/huandu/facebookGolang Facebook圖形API應用程序引擎
這在當地非常有效,但是當我嘗試從Google App Engine環境運行時,我無法運行它。
我在本地使用此代碼:
res, err := fb.Get("/me", fb.Params{
"fields": "id,first_name,last_name,name",
"access_token": usertoken,
})
在文件(以上鍊接),他們確實提到了App Engine的環境,但我can'f弄清楚如何GE這與fb.Get公約的工作。
謝謝。
編輯
幾乎得到它的工作!:
// create a global App var to hold app id and secret.
var globalApp = fb.New("<appId>", "<appSecret>")
session := globalApp.Session(usertoken) //User token here
context := appengine.NewContext(r) //Not sure what r should be...
session.HttpClient = urlfetch.Client(context)
res, err := session.Get("/me", nil)
if err := json.NewEncoder(w).Encode(res); err != nil {
panic(err)
}
如果我這樣做,我找回ID和名稱。現在我需要做的是請求其他參數。我是否在app引擎上下文的r參數中執行此操作?
你需要做的是在他們的文檔中很好的解釋。您需要將您的會話http客戶端設置爲'appengine/urlfetch'客戶端,因爲標準的'net/http'客戶端無法在那裏工作。只需導入該軟件包,並將相當於其樣本中的語句的語句放在適當的位置以使其工作。 IE應該在'init'或其他更大的範圍內執行此操作,以便應用程序發出的所有請求都使用重新分配的客戶端而不是標準客戶端。要獲得實際的答案,您需要發佈更多的代碼,因爲這些內容應該在任何請求之前發生。 – evanmcdonnal
@evanmcdonnal我在上面添加了代碼,幾乎可以正常工作。只需要弄清楚如何完成其餘的請求參數。 – JoeyN
「完成請求參數的其餘部分」是什麼意思? – Igy