Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Javascript格式化TwitterAPI端点_Javascript_Json_Api_Google Apps Script_Twitter - Fatal编程技术网

用Javascript格式化TwitterAPI端点

用Javascript格式化TwitterAPI端点,javascript,json,api,google-apps-script,twitter,Javascript,Json,Api,Google Apps Script,Twitter,我正在尝试创建一个谷歌应用程序脚本,使用谷歌表单向收件人发布数据(直接消息) 表示可以按如下方式发布信息: curl --request POST --url https://api.twitter.com/1.1/direct_messages/events/new.json --header 'authorization: OAuth oauth_consumer_key="YOUR_CONSUMER_KEY", oauth_nonce="AUTO_GENERATED_NONCE", o

我正在尝试创建一个谷歌应用程序脚本,使用谷歌表单向收件人发布数据(直接消息)

表示可以按如下方式发布信息:

curl --request POST 
--url https://api.twitter.com/1.1/direct_messages/events/new.json 
--header 'authorization: OAuth oauth_consumer_key="YOUR_CONSUMER_KEY", oauth_nonce="AUTO_GENERATED_NONCE", oauth_signature="AUTO_GENERATED_SIGNATURE", oauth_signature_method="HMAC-SHA1", oauth_timestamp="AUTO_GENERATED_TIMESTAMP", oauth_token="USERS_ACCESS_TOKEN", oauth_version="1.0"' 
--header 'content-type: application/json' 
--data '{"event": {"type": "message_create", "message_create": {"target": {"recipient_id": "RECIPIENT_USER_ID"}, "message_data": {"text": "Hello World!"}}}}'
twurl -A 'Content-type: application/json' -X POST /1.1/direct_messages/events/new.json -d '{"event": {"type": "message_create", "message_create": {"target": {"recipient_id": "RECIPIENT_USER_ID"}, "message_data": {"text": "Hello World!"}}}}'
问题是我对这件事还不熟悉。我如何用Javascript表示这一点?到目前为止,我有:

var url = "https://api.twitter.com/1.1/direct_messages/events/new.json";
var headers = {
    "contentType": "application/json",
    "headers":{"authorization": OAuth oauth_consumer_key="YOUR_CONSUMER_KEY", 
               oauth_nonce="AUTO_GENERATED_NONCE", 
               oauth_signature="AUTO_GENERATED_SIGNATURE", 
               oauth_signature_method="HMAC-SHA1", 
               oauth_timestamp="AUTO_GENERATED_TIMESTAMP", 
               oauth_token="USERS_ACCESS_TOKEN", 
               oauth_version="1.0"
    },
    "data": {"event": {"type": "message_create", "message_create": {"target": {"recipient_id": "RECIPIENT_USER_ID"}, "message_data": {"text": "Hello World!"}}}}
    };

    var response = twitterService.fetch(url, headers);

    if (response.getResponseCode() === 200) {
        status = "SENT";
    } else {            
        status = "ERROR: " + JSON.parse(response.getContentText()).errors[0].message;
    }


如何以正确的方式设置格式?

我可以问一下您的情况吗?您希望将上述curl命令转换为Google Apps脚本。我的理解正确吗?另外,您是否已经拥有了正确的
oauth\u nonce
oauth\u signature
oauth\u token
?是的,我想在谷歌应用程序脚本中实现它。我实际上没有oauth\u nonce、oauth\u签名和oauth\u令牌的正确值。他们对你的回答都很奇怪。我为我糟糕的英语水平道歉。不幸的是,我不能理解你的处境。您是否具有测试脚本所需的值?例如,当您使用授权所需的值运行curl命令时,是否可以确认可以得到预期的响应?响应为“reference error:empty Json string”。我确信我的Json格式是错误的,我需要帮助来正确编写。谢谢你的回复。在当前阶段中,无法使用上述curl命令。如果我的理解是正确的,那么当curl命令转换为GoogleApps脚本时,您将如何测试脚本?
var data = {
        "event": {
          "type": "message_create",
          "message_create": {
            "target": {
              "recipient_id": "2913462268"
            },
            "message_data": {
              "text": "Hello World!",
            }
          }
        }
      }

      // request options
      var options = {
        'method' : 'POST',
        'contentType': 'application/json',
        'escaping': false,
        // Convert the JavaScript object to a JSON string.
        'payload' : JSON.stringify(data)
      };