【问题标题】:Facebook api, sdk 4.0, php - uploading a photo from the server to user's facebookFacebook api, sdk 4.0, php - 将照片从服务器上传到用户的 facebook
【发布时间】:2014-09-11 17:55:29
【问题描述】:

我正在尝试构建一个应用程序,允许用户从他们的计算机浏览照片并将其发布到 Facebook。现在我有两个 php 文件:index.php 和 upload.php。索引检查是否有会话等,并请求权限,并提供登录和表单供用户浏览和提交图片。选择的图片将通过upload.php保存到服务器。

我正在努力从另一个不是 index.php 的文件发出 api 请求。 sdk 4.0 的 facebook 文档非常不清楚。我知道我必须包含所有 require_once 并再次使用 facebook 库。但是,我是否必须再次创建/检查会话并请求权限?或者我可以用访问令牌做些什么?如果是这样,我该如何称呼它?是否可以通过从服务器获取照片来发布照片?

谢谢

【问题讨论】:

    标签: php facebook-graph-api facebook-apps facebook-sdk-4.0


    【解决方案1】:

    如果您将access_token 保存在index.php 中,您的第二个脚本只需要确保access_token 已设置且有效(我假设令牌在$_SESSION 中设置为fb_token)。如果会话不存在或 user_token 被忽略,则将用户重定向回 index.php 以进行登录流程。

    你可以这样做:

    if ( isset( $_SESSION['fb_token'] ) ) {
      // create FB session from Access Token
      $session = new FacebookSession( $_SESSION['fb_token'] );
    
      // the rest of your code here...
    
    } else {
      // redirect back to index for login
      header( 'Location: index.php' );
    }
    

    Have a look at the example here.

    【讨论】:

    • 我的upload.php中有“ if(isset($_POST['submit'])){ ......”,它返回文件类型以查看是否它被允许,然后保存在我服务器上的上传文件夹中。我把它放在你所说的“//你的其余代码在这里”的地方吗?然后在它下面发出我的 api 请求?谢谢
    • 嗯,刚刚使用了您的代码,它不断将我引导回 index.php.. 所以我认为没有有效的会话或现有的会话?不知道为什么,我查看了您的示例并在我的索引中使用了相同的代码。你有什么想法我可能会出错吗?
    • 我可以在 else 位中,从我的 URL 获取访问令牌吗? (不知道如何,但在我的 URL 代码中 = 访问令牌对吗?)
    • 不确定哪里出了问题。我在 index.php 中创建并保存了我的会话。我还尝试使用 get 方法从 URL 获取访问令牌,但这也不起作用。它说变量未定义:S
    • 在您的应用周围添加调试代码以查看可能导致问题的原因。在 Facebook 部分周围使用 var_dump() 和 try...catch 语句来捕获任何错误。
    猜你喜欢
    • 1970-01-01
    • 2014-09-13
    • 1970-01-01
    • 1970-01-01
    • 2014-09-15
    • 2011-11-18
    • 1970-01-01
    • 2012-02-17
    • 1970-01-01
    相关资源
    最近更新 更多