You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

适配Diaspora 0.7.*的消息发布API代码调整求助

适配Diaspora 0.7.*版本的API发布消息代码调整方案

我开发了一个用于在Diaspora上发布消息的API,该API在Diaspora 1.*版本中运行正常,但在Diaspora 0.7.*版本中调用时出现“Page Not Found”错误。我推测是请求URL不正确,虽已获取access_token,但未找到正确的URL。以下是我的代码:

$DIASPORA_FR_URL = "https://diasporabr.com.br/";

$accessToken = "my_access_token";

$url = "{$DIASPORA_FR_URL}api/v1/posts?access_token=$accessToken";

$params = [
    "body" => "test",
    "public" => true
];

$data = http_build_query($params);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

$result = curl_exec($ch);
if (curl_errno($ch)) {
    $result = curl_error($ch);
}
curl_close($ch);

调整方案

Diaspora 0.7.*版本的API路由、认证方式和参数格式与1.*版本差异较大,需做以下修改:

  • 修正请求URL:0.7.*版本没有api/v1/posts接口,发布状态消息的正确路径是status_messages
  • 调整认证方式:不能在URL中拼接access_token,需通过Authorization请求头传递,格式为Bearer {access_token}
  • 修改参数结构:
    • 文本内容需包裹在status_message[text]键下,而非原代码的body
    • 公开可见设置需通过aspect_ids参数传入数组["public"],替代原代码的public => true

调整后的完整代码

$DIASPORA_FR_URL = "https://diasporabr.com.br/";
$accessToken = "my_access_token";

// 0.7.*版本的正确接口路径
$url = "{$DIASPORA_FR_URL}status_messages";

// 适配0.7.*的参数结构
$params = [
    "status_message[text]" => "test",
    "aspect_ids" => ["public"]
];

$data = http_build_query($params);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

// 添加Authorization头传递access_token
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer $accessToken"
]);

$result = curl_exec($ch);
if (curl_errno($ch)) {
    $result = curl_error($ch);
}
curl_close($ch);

补充说明

  • 确保你的access_token拥有发布状态消息的权限,否则会返回权限错误
  • 0.7.*版本的API参数严格遵循命名空间结构,所有与状态消息相关的字段都需要放在status_message前缀下

内容的提问来源于stack exchange,提问作者Scipius2012

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 20:33:13