8

Tôi tiếp tục gặp lỗi OAuthException (#210) Subject must be a page. ngay cả khi tôi đang sử dụng Mã thông báo truy cập trang chứ không phải Mã thông báo truy cập ứng dụng.OAuthException "(# 210) Chủ đề phải là một trang".

Tôi đang sử dụng như sau:

  1. Latest Javascript SDK từ facebook (//connect.facebook.net/en_US/all.js)
  2. Gọi /{PAGE_ID}/tabs?app_id={APP_ID}&method=POST&access_token={PAGE_ACCESS_TOKEN} sử dụng phương pháp FB.api khi người dùng đăng nhập

ứng dụng của tôi. là không phải là FBML mà là ứng dụng Canvas/iFrame. Tôi đang làm gì sai?

Tôi đã nghiên cứu web bao gồm Stackoverflow và các diễn đàn facebook khác nhưng vẫn không có câu trả lời về vấn đề này. OAuth được bật cho Ứng dụng của tôi.

Ngoài ra, nếu tôi sao chép và dán liên kết trong Trình duyệt, nó hoạt động tốt. Nó không nếu tôi làm điều đó bằng cách sử dụng API.

Trả lời

5

Cuối cùng tôi đã làm việc đó.

Tuy nhiên, thay vì sử dụng FB.api để gọi liên kết ở trên, tôi đã sử dụng jQuery.

Tôi đã sử dụng jQuery "$ .getJson (url)" và nó đã hoạt động.

Nó hoạt động như sau.

Xây dựng liên kết như bên dưới.

"https://graph.facebook.com/{PAGE_ID}/tabs?app_id={APP_ID} & method = POST & access_token = {} PAGE_ACCESS_TOKEN & callback =?"

Gọi phương thức jQuery như sau. "$ .getJSON (pageUrl, OnCallBack);" trong đó "OnCallBack" là phương thức gọi lại. Bạn có thể làm bất cứ điều gì mà bạn sẽ cần trong cuộc gọi trở lại. Trong trường hợp của tôi, nó giống như dưới đây.

function OnCallBack(r, s) { 

     var html = ""; 
     if (s == "success" && !r.error) { 
      for (p in r) { 
       html += p + ": " + r[p] + "<br />"; 
      } 
     } else { 
      html = r.error.message; 
     } 
     $("#dv").html(html); 
    } 
3

Để bất cứ ai bị lỗi này một lần nữa: Tôi có nhận được thông báo lỗi tương tự khi tôi sử dụng Wininet để gửi một yêu cầu https để https://graph.facebook.com/ ......

Tôi chỉ thay đổi động từ từ "POST" để "GET", và sau đó nó hoạt động tốt:

//string strVerb = "POST"; 
string strVerb = "GET"; 

PS: biến "strVerb" được sử dụng như là tham số thứ 2 của cửa sổ hoạt HttpOpenRequest.

Các vấn đề liên quan