簡體   English   中英

特定ID不接受我在RestFB for Facebook中的訪問令牌

[英]specific IDs do not accept my access token in RestFB for Facebook

我嘗試通過RestFB API獲取多個對象。 我有一個ID列表(端點?),並希望它們由RestFB批量提取。 因此我使用FacebookClient.fetchObjects() 現在出現的問題是我的列表中的一個ID似乎不接受令牌。 我不是那種進入facebook的令牌系統的人。 我生成的唯一令牌是app-token

列表中使用的兩個ID:

工作ID:1104054513000418
不工作ID:1106761186063084

這些ID屬於來自同一作者的帖子,除了內容之外,它們之間沒有真正的區別。

試圖手動獲取這些ID的數據(沒有批量獲取)我有同樣的問題。 因此,多重獲取方法的誤用不是問題。

碼:

FacebookClient.AccessToken accessToken = new DefaultFacebookClient().obtainAppAccessToken(appId, appSecurity);
FacebookClient fbClient = new DefaultFacebookClient(accessToken.getAccessToken());

// consider filteredSocialItems as given
List<String> filteredItemIDs = filteredSocialItems.stream()
        .map({ item -> item.properties.get("sourceId") })
        .collect(Collectors.toList());

JsonObject json = fbClient.fetchObjects(filteredItemIDs, JsonObject.class, Parameter.with("fields", "name,id"));

例外:

Caught: com.restfb.exception.FacebookOAuthException: Received Facebook error response of type OAuthException: (#100) Requires user session (code 100, subcode null)
com.restfb.exception.FacebookOAuthException: Received Facebook error response of type OAuthException: (#100) Requires user session (code 100, subcode null)
    at com.restfb.DefaultFacebookClient$DefaultGraphFacebookExceptionMapper.exceptionForTypeAndMessage(DefaultFacebookClient.java:1201)
    at com.restfb.DefaultFacebookClient.throwFacebookResponseStatusExceptionIfNecessary(DefaultFacebookClient.java:1122)
    at com.restfb.DefaultFacebookClient.makeRequestAndProcessResponse(DefaultFacebookClient.java:1063)
    at com.restfb.DefaultFacebookClient.makeRequest(DefaultFacebookClient.java:974)
    at com.restfb.DefaultFacebookClient.makeRequest(DefaultFacebookClient.java:936)
    at com.restfb.DefaultFacebookClient.fetchObjects(DefaultFacebookClient.java:431)
    at facebookImageRefresh.run(facebookImageRefresh.groovy:48)
    at com.intellij.rt.execution.CommandLineWrapper.main(CommandLineWrapper.java:48)

解決問題有點令人筋疲力盡。 這是一個舊的Facebook應用程序版本的問題。

Facebook應用程序是在您的Facebook開發者帳戶中創建的

由於Facebook改變了其API規則,這就是問題所在。 您不能只使用其ID來訪問帖子,例如使用1104054513000418您還必須為創建該帖子的頁面/用戶的ID添加前綴。 因此,如果您的網頁ID是589476469431696那么您實際上需要創建兩者的組合ID,例如589476469431696_1104054513000418 - > "{page_id}_{post_id}" 我不知道這是否可以互換。

所以在創建一個新的應用程序后,我能夠讓它工作。

另一個信息:因為我一直在尋找用戶訪問令牌 - 我在我的Facebook應用程序高級設置中找到了它。 但似乎我不再需要它了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM