2011-05-04 53 views
0

我正在努力使我的應用程序能夠擊中FB Graph API以在用戶上查找數據。我想以一種專注於應用程序的方式來實現這一點,這意味着它不基於登錄到我的應用程序的用戶。這是FB Graph API的應用程序&之間的關係。幫助瞭解如何將FB Graph API集成到我的應用程序中

我的理解是我可以通過應用程序訪問權限來做到這一點是嗎?

如果我用我的應用程序的訪問令牌這裏: https://graph.facebook.com/[email protected]&type=user&access_token=208131059208382|xFN8da1tIDxuuMp8hoRtGs3l0aM

我得到一個錯誤:

{ 
    "error": { 
     "type": "OAuthException", 
     "message": "An access token is required to request this resource." 
    } 
} 

這是爲什麼?

我可以使用我的個人FB賬戶來打擊API的應用程序的目的?

當用戶oAuth進入應用程序時,訪問令牌持續多久?是我可以在我的應用程序中硬編碼的東西,所以我可以打FB圖表API?

感謝

回答

1

對於Facebook上的很多東西,你必須有來自用戶的有效會話訪問令牌。這意味着,您必須使用來自用戶的訪問令牌來訪問資源。將關於用戶的數據拉出圖表時尤其如此。當用戶加載應用程序時,FB爲您提供的訪問令牌通常會持續一個小時(如果我正確記得的話)。雖然會話對象FB讓你告訴你令牌的過期時間。

如果您需要以脫機方式訪問用戶的數據,則可以要求用戶提供offline_access擴展權限。這樣做會使Facebook給你一個無限期的訪問令牌,它永遠不會過期(除非用戶更改密碼)。這使您可以隨時以用戶的名義查詢圖表。

如果您執行標準搜索或頁面搜索等,搜索功能不需要訪問令牌。但是,當您搜索用戶時,它確實需要有效的訪問令牌。我認爲這是爲了防止人們用機器人錘擊搜索和抓取公共用戶數據。

+0

謝謝。應用程序可以有一個有效的訪問令牌嗎?或者它是否必須來自用戶? – AnApprentice 2011-05-04 03:08:28

+0

是的,你在上面發佈的那個可能是有效的(它只是與管道字符串聯的App ID和App Secret)。但是,它不能與用戶訪問令牌互換使用。也......我爲你的應用程序重新生成了應用程序的祕密,因爲你只是在上面發佈它(除非這不是你的應用程序或者你粘貼的應用程序ID),因爲有了這兩條信息,人們可以做很多事情代表您的應用程序在平臺上的東西 – 2011-05-04 03:14:53

+0

感謝吉姆,仍然不知道從哪裏拿走它,但我會繼續。 – AnApprentice 2011-05-04 03:25:07